本日作業でフォームの二重送信・多重送信防ぐ機能を作りました。2重送信でデータの不整合が発生しまうので、データ収集機関や金融機関などの分野でかなりの問題が出るかもしれない。早速ですが、僕は書いた2重送信を防ぐjavascriptコードです。
※フロントページで2重送信を完全に防ぐことが難しいですが、ある程度で2重送信をならないようにする。安全のため、サーバ側でもう一回整合性をチャックしましょう。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>タオバオ二重送信・多重送信防ぐサンプル</title>
<script type="text/javascript">
<!--
_submitFlg = false;//コミットイベントが無い状態
function submitTest(){
//二重送信・多重送信であれば、リターンする
if(_submitFlg) return;
try{
var formObj = document.getElementById('thisFormId');
formObj.submitButton.disabled = true;//送信ボタンを非活性にする
formObj.submit();
}
catch(e){
alert(e );
}
finally {
_submitFlg = true;//コミットがあり状態にセット
}
}
//-->
</script>
</head>
<body>
<form id="thisFormId" name="thisFormName" action="http://www.baido.jp">
<input type="button" value="送信" name="submitButton" onclick="submitTest()" />
</form>
</body>
</html>
●多重送信のイメージ
●多重送信阻止したのイメージ
♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。
コメントする