による二重送信防止
ボタン、リンクの二重送信防止に加え、画面上のすべてのボタンとリンクを無効化。
<html> <script> // すべてのボタンとリンクを無効にする function disableAllButtons() { // すべてのボタンを無効にする for (var i = 0; i < document.forms.length; i++) { var form = document.forms[i]; for (var j = 0; j < form.elements.length; j++) { var ele = form.elements[j]; var type = ele.type; if (type == "button" || type == "submit") { ele.disabled = true; } } } // すべてのリンクを無効にする var aTags = document.getElementsByTagName('A'); for (var i = 0; aTags.length > i; i++){ aTags[i].removeAttribute('href'); } } </script> <body> <form target="_new" onsubmit="disableAllButtons()"> <input type="text" name="xxx" value="text"> <input type="button" value="button"> <input type="submit" value="submit" name="submitName" onclick="xxx.value = 'login'"> <a href="" readonly="true">link</a> <input type="checkbox"> <input type="radio"> <input type="button" value="button2"> </form> </body> </html>