2

二重投稿を防ぐために、送信後にフォームの送信ボタンを無効にしようとしています。ボタンを無効にすることはできますが、フォームを実際に送信することもできません。

jQuery は次のとおりです。

// Disable submit button after click to prevent double posting
$(document).ready(function () {
    $('#add_pin :submit').on('click', function (e) {

        $(this).prop('disabled', true);    

    });
});

これでボタンが無効になりますが、それだけです。

.prop() の後に追加しようとしまし$(this).submit()たが、まだ何もしません。

HTMLは次のとおりです。

<form action="http://example.com/add" method="post" accept-charset="utf-8" id="add_pin" enctype="multipart/form-data">
// input fields
<input type="submit" name="submit" value="Add Pin" class="radius button">
</form>

私は何を間違っていますか?

4

1 に答える 1

3

onsubmit送信ボタンのイベントの代わりにフォームのイベントを使用することをお勧めします。これは、送信ボタンのクリックだけでなく、Enter キーからの送信も処理するclickためです。onsubmit

$(document).ready(function () {

    $('#add_pin').submit(function(){
        $(this).find('input[type=submit]').prop('disabled', true);
    });

});
于 2013-02-05T16:46:51.907 に答える