2度押し。そう、忘れていた悪夢が蘇ってきそうです。2度押しのせいで何かのトラブルが発生した人もいるのではないかと思います。
ここでは、そんな2度押しを防止するサンプルを掲載しています。
スポンサーリンク
Javascriptで2度押しを防止する
2度押しを防止するサンプルコードです。特になんてことはないコードですので説明は省略です。このサンプルを実行するとChromeとIE11では違う動きをします。ただし、サブミットをちゃんと行えば同じ動作をすると思います。(未確認ですが。。。。)
<html>
<head>
<script>
function blockDualPress(btn){
if(btn.disabled) {
//alert("すでにサブミットされています");
return false;
}
//alert("サブミットします");
btn.disabled=true;
return true;
}
</script>
</head>
<body>
<form action="#" method="post">
<input type="submit" value="サブミット" onClick="return blockDualPress(this);">
</form>
</body>
</html>
そう、かれこれ十数年前、2度押しのせいで同じ処理が2度実行されました。何度実行しても同じデータなら大丈夫との話だったことから、問題ないだろうと。
が、しかしです。相手方のシステムは全く持ってダメだったようです。データがぐちゃぐちゃになったようです。
さて、ここにきて責任転嫁が始まります。よく聞く話だと思いますが、そのよく聞く話のとおり2度押しが問題となり、論点がずれだします。(・・・・・・)ここから先はご想像にお任せします。
しかし、です。あーいやだいやだ。こんな大人にはなりたくないと思いながらも汚い大人になってきている気がする今日この頃です。
あなたは清らかですか?濁ってますか?それとも清濁使い分ける大人ですか?
