惰眠を堪能した T です。こんばんは。
Google のマネをして、
« S h u u u u u u u r a b a »
というページ・ナビゲーションを作ってみたのだが、あまりにバカバカしいのでやめた。「Yahooooooo!」とかやらないかな。Google から怒られそうだが。表現の特許とか取ってそうだな。
ところで、通信が遅いときにイラついて「送信」ボタンを連打しない、というのは常識であるが、最初から送信ボタンを 1回しかクリックできないようにしておけば、そもそも問題は起こらない。アップローダを作るついでに、送信ボタンを 1回しか押せないようにする JavaScript も組んでみた。
onload = function () {
if (document.all) {
formList = document.all.tags("form");
} else if (document.getElementsByTagName) {
formList = document.getElementsByTagName("form");
} else {
return;
}
for (i = 0; i < formList.length; i++) {
formList[i].onsubmit = disableSubmit;
}
}
function disableSubmit () {
var elements = this.elements;
for (i = 0; i < elements.length; i++) {
if (elements[i].type == "submit") {
elements[i].disabled = true;
}
}
}
フォームが「送信」されたとき (onsubmit
) に、disableSubmit
が動くように onload
で設定しておく。送信ボタンが押されると、そのフォーム内にある submit ボタンが使えなくなる。BBS などで空クリックすれば、具体的な動作がわかると思う。
1つのフォームに複数の submit ボタンがある場合、あるいは submit ボタンでデータのやり取りをしていない場合には対応していない。