如果我有一些编码如下。
<form method="POST" action="localhost/carts/delete">
<a href="#" onclick="$(this).closest('form').submit();">Item 1</a>
<a href="#" onclick="$(this).closest('form').submit();">Item 2</a>
<a href="#" onclick="$(this).closest('form').submit();">Item 3</a>
</form>
我喜欢发布一个带有隐藏值的表单来指示单击哪个项目,该怎么做?
感谢。
编辑文字。
感谢您提出了许多有用的建议。
我实际上使用的是Laravel 4而不是PHP,我的Laravel代码生成了这个HTML
<form ...>
<ul>
<li>
<h1>Key: 1 </h1>
<input name="cart_id" type="hidden" value="1"><a href="#" onclick="$(this).closest('form').submit()">Delete</a>
</li>
<li>
<h1>Key: 2 </h1>
<input name="cart_id" type="hidden" value="2"><a href="#" onclick="$(this).closest('form').submit()">Delete</a>
</li>
<li>
<h1>Key: 6 </h1>
<input name="cart_id" type="hidden" value="6"><a href="#" onclick="$(this).closest('form').submit()">Delete</a>
</li>
<li>
<h1>Key: 7 </h1>
<input name="cart_id" type="hidden" value="7"><a href="#" onclick="$(this).closest('form').submit()">Delete</a>
</li>
</ul>
</form>
所以,当我点击任何项目时,我得到7这是cart_id的最后一个值,如何放置在正确的位置,在JavaScript ???
答案 0 :(得分:1)
在表单中创建隐藏元素:
<form method="POST" action="localhost/carts/delete">
<input type="hidden" name="myValue" value="" id="myValue"/>
<a href="#" data-value="1">Item 1</a>
<a href="#" data-value="2">Item 2</a>
<a href="#" data-value="3">Item 3</a>
</form>
然后点击任意链接(a
)更改其值并提交表单。
$('a').click(function(e){
//preventing the default link redirection
e.preventDefault();
$('#myValue').val($(this).data('value'));
$(this).closest('form').submit();
});
答案 1 :(得分:1)
使用隐藏的输入字段,如:
<input type="hidden" value="hidden value" name="id"/>
此页面中无法显示此框。
答案 2 :(得分:1)
改用输入字段。
<form method="POST" action="localhost/carts/delete">
<input type="submit" value="Item 1" name="whichitem[]" />
<input type="submit" value="Item 2" name="whichitem[]" />
<input type="submit" value="Item 2" name="whichitem[]" />
</form>
然后在PHP中,您可以检索点击的值,如下所示:
$_POST["whichitem"]
如果您担心样式,只需将其添加到您的CSS中:
input[type="submit"]{
//style
}