• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascriptで二重送信防止)

javascriptで二重送信防止

このQ&Aのポイント
  • javascriptでの二重送信防止(submitボタンの無効化)ができません。
  • 送信ボタンを押すとボタンが無効化され、送信がキャンセルされますが、それでは意味がありません。
  • return falseを省いて送信ボタンを無効化すると、送信されてもボタンが無効化されません。どうすればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BellBell
  • ベストアンサー率54% (327/598)
回答No.1

送信する相手は誰ですか? この場合、actionも指定されていませんし、javascript内で送信しているわけでもないので、自分自身(html?)に送信されています。 事実上再読み込みされるだけですね。 ボタンを無効にして、再読み込み(=自分自身に送信)。 再読み込みされたので、ボタンが有効(=初期状態)になります。 なんら不可思議な現象ではありません。 おそらく、元の参考にしたソースコードはonsubmitで呼ばれた関数内でAJAXで送信処理していたんじゃないでしょうか? それだと、return false にする意味があります。 やりたい事は、サーバ上のCGIなどにデータを渡したいんですよね? 画面遷移せずに?→AJAXで送信する処理を関数dclk に追加する必要があります。 画面遷移をする?→formにactionを指定します。 二重送信防止と言いながら、そもそも何も送信していない事がワケの判らない事になっている原因ではないかと思いますよ。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • think49
  • ベストアンサー率59% (285/482)
回答No.2

送信ボタンが input[type=submit] に限定されるのなら、input[type=submit] のみを無効化すれば実装できるはずですが…。 http://jsfiddle.net/AF5YD/1/

すると、全ての回答が全文表示されます。

関連するQ&A