2017-11-12 6 views
1

送信ボタンをクリックすると、ページが数秒間読み込まれ、その後フォームが最後に送信されます。私は短期間に複数の提出を停止したい。そのため、次のjqueryを使用して複数の送信を停止します。フォームが送信されず、送信ボタンが無効になったときにページが読み込まれない場合

<input name="submit" type="submit" id="submit" value="Submit" onclick="Submit(this)"/> 
<script> 
    function Submit(button) 
    { 
     var oldValue = button.value; 

     button.setAttribute('disabled', true); 
     button.value = 'processing...'; 

     setTimeout(function() { 
      button.value = oldValue; 
      button.removeAttribute('disabled'); 
     }, 10000) 
    } 
</script> 

私の問題は、私は、送信ボタンをクリックしたときに、それは数秒間無効にし、その後にボタンが再び有効にされますが、フォームが提出されていないと、ページがロードされません。

google chromeの送信ボタンをクリックすると、ボタンはクリックされますが、ページは読み込まれず、フォームは送信されません。 Mozilla Firefoxの送信ボタンをクリックすると、ページはフォームアクションページに移動し、白いページが表示されます。実際の問題を提出するイベントがトリガされる前に、ボタンが無効になっている、ある

​​
+0

ボタンを入力して – Akintunde007

+0

@achal naskarを提出しないように、ボタンを変更してみてください:なぜあなたは10秒後にボタンをreeanableのですか?これは、あなたのシーケンスをsetTimeoutコールバック関数で処理しています。 – 1stthomas

+1

_ "なぜ私は次のjqueryを使用しますか?" - いいえ、あなたはそのスクリプトにjQueryを使用していません。それはすべてネイティブJavaScriptです。 –

答えて

1

+0

e.preventDefault();を書く必要はありません。戻り値false()。自分のためにやれ – Shubham

0

はこれを試してみてください。

これを試してみてください:

<input type="submit"/> 
$('form#id').submit(function(e) { 
    $(this).children('input[type=submit]').attr('disabled', 'disabled'); 
    e.preventDefault(); 
    return false; 
}); 
関連する問題