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();
    });

} );

フォームを送信しない理由を知っている人はいますか? 私はクロムと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 に答える