ホームページ  >  記事  >  バックエンド開発  >  フォームの繰り返し送信に関する質問

フォームの繰り返し送信に関する質問

WBOY
WBOYオリジナル
2016-06-23 13:47:05979ブラウズ

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階の回答を応援してください

皆さん熱心な回答ありがとうございました

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。