Ajax 送信を使用する登録フォームがあります。ユーザーがフォームを繰り返し送信しないようにするにはどうすればよいですか? つまり、ユーザーが一度送信した後、何らかの理由で結果が返される前に再度フォームを送信すると、次のような結果が発生します。データが重複しています。解決する良い方法があれば教えてください
次のコードを見てください:
namespace{flags:{}}namespace.flags.submit=true;document.getElementById('btn').addEventListener('click',formSub);function formSub(){ if(namespace.flags.submit){ namespace.flags.submit = false; $.post('addr',{params:'},function(data){ if(data == 'OK'){ alert(OK'); namespace.flags.submit = true; } }); }}
次のコードを見てください:
namespace{flags:{}}namespace.flags.submit=true;document.getElementById('btn').addEventListener('click',formSub);function formSub(){ if(namespace.flags.submit){ namespace.flags.submit = false; $.post('addr',{params:'},function(data){ if(data == 'OK'){ alert(OK'); namespace.flags.submit = true; } }); }}
回転する菊を表示します
次に、送信スイッチを設定します
<script type="text/javascript">window.sending = false;if(!window.sending){ window.sending =true; //在这里开时转菊花 $.post('http://bbs.csdn.net/',{name:'shiki'},function(result){ console.log(result); },'json').always(function(){ window.sending = false; //在这里隐藏菊花 });}</script>
」と書きます。皆さん、いいアイデアですね
ユーザーがボタンをクリックしたら、ボタンを無効にするだけです。
3階の回答を応援してください
皆さん熱心な回答ありがとうございました