假设我有一张表格:
<form id="form1" method="post">
<ul>
<li class="button">
Button 1!
<input name="some_input" type="hidden" value="Number 1" />
</li>
<li class="button">
Button 2!
<input name="some_input" type="hidden" value="Number 2" />
</li>
</ul>
</form>
我的javascript是:
<script type="text/javascript">
$('document').ready(function () {
$('li.button').bind("click", function() {
$('form1').submit();
});
});
</script>
注意:当我点击li元素Button!时,它会触发表单提交。
现在当我点击(例如按钮1!)时,表单会被发送,它会被成功发送,并且处理没有任何问题。但是当我点击浏览器上的“后退”按钮并点击其他链接(例如按钮2!)时会出现问题。在我看来,好像浏览器提交的值与以前一样,即使两者的输入值不同。
我该如何解决这个问题?
答案 0 :(得分:1)
您正在提交相同的表单。点击什么按钮无关紧要。您有两个按钮绑定到单击事件,触发单个表单提交,其中包含两个值。
另外,你的id不是你的类,所以它应该是$('li#button')....
你将html更改为类,但是为了正确的语义。
答案 1 :(得分:0)
你的问题不在于jQuery,而是因为你有1个表格,其中2个同名的输入。
您需要为每个文本框指定一个不同的名称,或者将每个按钮和文本框包装在其自己的表单中。