1

我有下面的表单,我想从中删除提交按钮(或隐藏它)。

<form action="cart.php" method="post">
<input name="quantity" type="text" value="3" size="1" maxlength="2" />
<input name="adjustBtn" type="submit" value="change" />
<input name="item_to_adjust" type="hidden" value="1" />
</form>

在我已包含在页面中的名为 test.js 的 jQuery 文件中,当输入字段“数量”发生更改时,我应该提交表单,但它没有,我无法让它工作,我已经尝试了所有SO上其他帖子的各种表单提交功能。一个人甚至说,如果提交按钮的名称是提交,它将不起作用,但我没有。

$(document).ready( function() {

    $('#quantity').change(function(){
       //$(this).closest("form").submit(); <-- commented out as not working either.
       //$(this).closest('form')[0].submit(); <-- commented out as not working either.
       $('#adjustBtn').submit();
    });

} );

有人知道为什么它不会提交表格吗?我已经在 chrome 和 IE 中进行了测试。

4

2 回答 2

5

您需要提交form而不是button

$("#adjustBtn").closest("form").submit();

另外,你没有给id你的adjustBtn,因此$("#adjustBtn")不会工作;

<input id="adjustBtn" name="adjustBtn" type="submit" value="change" />

同样的事情发生在#quantity,这就是为什么change处理程序不会被解雇,你还需要添加id

<input id="quantity" name="quantity" type="text" value="3" size="1" maxlength="2" />
于 2012-09-18T09:43:06.177 回答
1

它应该是:

<form action="cart.php" method="post" id="autoSubmit">
<input name="quantity" type="text" value="3" size="1" maxlength="2" />
<input name="item_to_adjust" type="hidden" value="1" />
</form>

和 jQuery:

$(document).ready( function() {

    $('#quantity').change(function(){
       $('#autoSubmit').submit();
    });

} );
于 2012-09-18T09:42:57.253 回答