HTML用ひながた > 二度押し防止
form送信時に二度押しを防止するJavascriptです。
送信後のページ表示に時間がかかる際、二度押しされては困るときなどに有効です。
何通りかの方法がありますので、お好みに合わせてお使いください。
~ 2度押し防止javascript バージョン(1)~
特徴
・二度押しをしていない人には、この機能がついていることに気づきません。(二度目の押しで注意がでます。)
・Javascriptの有効でないブラウザの場合は二度押し防止機能は有効ではありませんが、送信はできます。
・WIN,MAC問わずたいていのブラウザで動作します。(IE5.5,NN4.6で動作確認)
実行例
以下の送信ボタンを押すと5秒間次のページ表示を待たされます。
その5秒待っている間にもう一度送信ボタンを押すとJavascriptで警告がでます。
ソース
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>二度押し防止 HTML用ひながた -ahref.org-</title> <script language="JavaScript"> <!-- var set=0; function nidoosi() { if(set==0){ set=1; }else{ alert("二度押しはいけません。\nそのままお待ちください。"); return false; } } //--> </script> </head> <body bgcolor="white"> <b>二度押し防止</b> <br> <form action="wait5.cgi" method="post" onSubmit="return nidoosi()"> <input type="submit" value="送信"> </form> </body> </html> |
~ 2度押し防止javascript バージョン(2)~
特徴
1度押すと、送信ボタンが無効になります。
実行例
以下の送信ボタンを押すと5秒間次のページ表示を待たされます。
ソース
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>二度押し防止 HTML用ひながた -ahref.org-</title> <script language="JavaScript"> <!-- function nidoosi2(form) { var elements = form.elements; for (var i = 0; i < elements.length; i++) { if (elements[i].type == 'submit') { elements[i].disabled = true; } } } //--> </script> </head> <body bgcolor="white"> <b>二度押し防止</b> <br> <form action="wait5.cgi" method="post" onSubmit="return nidoosi2(this)"> <input type="submit" value="送信"> </form> </body> </html> |