Firefox1.5とOpera8対応の多重サブミット対策
以前は
■HTML
<form action="inq.cgi" onsubmit="return doublechk(this);">
var chk_DoubleCall = false; function doublechk(form) { if (chk_DoubleCall == true) { return false; } chk_DoubleCall = true; }
みたいなやり方でうまくいっていたのですが、
最近のFirefox1.5 と Opera8 でこの処理を仕込んだフォームをテストしたところ、以下のような症状が起きました。
■ 症状
- フォーム入力画面:サブミット
- 入力確認画面:「戻る」ボタン
- フォーム入力画面:サブミット(×:サブミットボタン反応せず)
■ 対策
<body onunload="chk_DoubleCall = false;">
又は
window.onunload = function () {/*後始末処理*/}
対策手前部分まで書いて投稿しようと思ったら思いついてしまって
投稿しなかったやつ。