【ダブルサブミット防止ロジック】

[統計] HTMLからXHTMLへの移行を進めていますか?



0   名前: marble : 2007/07/25(水) 02:44  ID:7XX0THzE sub-Ds
完了ボタンの二重押下を禁止にするロジックを作成しています。

フォームで囲ったイメージボタンにonClickで関数を呼び出しているのですが、
ボタンが押されるたびにリロードが発生してしまい、登録完了画面へ遷移してしまいます。
どのように対処したらよいのかわからないのですが、どなたかご教授願いませんでしょうか?


<script>
<!--
flg= false;
function funk();
if(flg ==false){
document.form_name.submit();
}else{
ここはどういったロジックにすればよいでしょうか?
}
}
//-->

<form name="form_name" action="hogehoge.com">
<input type="image" src="hogehoge.jpg" onClick="fuck()">
</form>

1   名前: 匿名 : 2007/07/25(水) 02:44  ID:O/MUIK45 sub-Cz
フラグが切り替わってませんが。

あと、そろそろ form 要素に name 属性など使うのは止めようよ。id 属性を使おう。

2   名前: NullPo : 2007/07/25(水) 02:44  ID:1xQg6D.. sub-.G
<script type="text/javascript">
<!--
var flg = false;
function fuck(thatForm) {
  if(!flg) {
    flg = true;
    thatForm.submit();
  }
  return false;
}
//-->
</script>

<form name="form_name" action="hogehoge.com">
<input type="image" src="hogehoge.jpg" onclick="return fuck(this.form);">
</form>

すごい関数名ですね。

3   名前: marble  : 2007/07/25(水) 02:44  ID:OuEZMhF/ sub-ff
Nullpoさん、匿名さん、ありがとうございます。
助かりました。関数名に失礼があり、大変申し訳ありません。

更に質問をさせていただきたいのですが、
一度目に投げたレスポンスが残ってしまい、結局次画面へ遷移してしまいます。この場合、どのようにロジックを組めばよろしいでしょうか?

4   名前: 匿名 : 2007/07/25(水) 02:44  ID:2Rq6b0vp sub-Cz
何を言ってるのかさっぱり分からないんだが、

もし「ブラウザをリロードしたときに、以前 POST したデータを再送信してしまう」ということなら、ブラウザ側の設定の問題だから、制作者 JavaScript でどうこうできる範疇じゃない。サーバ側でチェックする。

5   名前: marble : 2007/07/25(水) 02:44  ID:VEZGMPin sub-Ax
たびたび、すいません。
今日一日考えたのですが、どうしても答えが見つからなくて。

NUllpoさんの返信を使ってみたのですが、少し改良を加えて自分なりに作ったのですが、

<script type="text/javascript>
<!--
var flg=false;
function doubleClick(thatForm){
if(!flg){
flg = true;
thatForm.submit();
}
return;
}
//-->

<form type="~" onSubmit="doubleClick();return false" action="hogehoge.com">
<input type="image" src="hogehogehoge.gif" name="~">
</form>

ちょっと文法に間違いがあるかもしれないんですが、
こんな形で押下二重防止のロジックを作ってみたのですが、
二回押された時点でも次画面に遷移してしまうのです。
自分でもjavascriptにかんしては初心者なので、色々調べたのですが、行き詰まってしまいました。
どなたかご教授をお願い致します。宜しくお願いします。

一覧へ戻る