1

したがって、データベースに送信するフォームがあり、ユーザーが送信ボタンを複数回クリックした場合に複数の送信を防止したい...少し調査すると、これは簡単に完了したようですが、私が見つけた解決策はどれもうまくいきませんでした私は jquery validationEngine プラグインを使用してフォームのクライアント側を検証しています。また、最初のクリック後に無効にしようとしているボタンも監視しています。

もう少しググった後、私はこれを思いついた:

$('#speakerForm').validationEngine('attach', {
    onValidationComplete: function(form, status){
    if(status == true){
        $('input.submitbutton').attr('disabled', 'disabled').attr('value', 'Please Wait...');
        return true;
        }
    }
});

必要なものをそこに入れるまで、機能に対してうまく機能します

$('input.submitbutton').attr('disabled', 'disabled').attr('value', 'Please Wait...');

ライン...

フォーム内のこの行をクリックすると、クリアされ、ページの上部に戻り、データは送信されません。

交換してみた

onValidationComplete:

onSuccess:

無駄に。(そして明らかにifステートメントを取り除きます)

どんな提案でも大歓迎です...

あと、説明が下手な私なので、気軽に質問してください(笑)

4

1 に答える 1

1

そのため、多くのことをいじった後、最終的にこれを見つけました:

jQuery でフォームの二重送信を防ぐ

検証エンジンとは関係ありませんが、そのプラグインを含めて、検証エンジンの(通常の)呼び出しの後に呼び出すと、二重送信を防ぐようです。

これまでのところクロムでしかテストしていませんが、合法的なようです...

于 2013-05-14T12:56:32.557 に答える