0

私のコードはこのように簡単です

$(document).ready(function(){
   $('#somebutton').click(function(){
           $('#someformid').submit();
           return false;
    });

});

このフォームの送信中、通常、ページはロードのために 1 秒または 2 秒待機します。その間、ユーザーは「somebutton」をもう一度クリックすると、フォームが再度送信されます。私の質問は、ブラウザをロックしたり、フォームを無効にしたりする方法です。フォーム送信プロセスが進行中の場合は送信しますか?

PS somebuttonはイメージです

4

3 に答える 3

4

処理中にボタンをクリックしないようにするだけです。

$(document).ready(function(){
   $('#somebutton').click(function(){
           $('#someformid').submit();
           $(this).attr('disabled','disabled');
    });

});

またはあなたが使用することができますe.preventDefault();

$(document).ready(function(e){
       $('#somebutton').click(function(){
               $('#someformid').submit();
               e.preventDefault();
        });

    });
于 2012-07-06T06:41:19.543 に答える
4

.oneを使用できます。これにより、ハンドラーは最大 1 回実行されます。

   $('#somebutton').one('click', function(){
       $('#someformid').submit();
       return false;
   });
于 2012-07-06T06:42:26.153 に答える
1

ボタンに attr disabled を追加します

EDIT :クリック時にクリック イベントのバインドを解除します。

$(document).ready(function(){
$('#somebutton').click(function(){
        $(this).unbind('click');
        $('#someformid').submit();
        return false;     
});  
}); 
于 2012-07-06T06:44:25.747 に答える