- ベストアンサー
button使用で送信確認後のsubmit
- JavaScript初心者のため、buttonを使用して送信確認後にsubmitされる機能を作成したいがうまくいかない。
- form内にsubmitという名前が付いた要素があると正しく動作しない問題があるが、該当する要素は存在しない。
- ソースコードを確認したが問題は見つからず、原因がわからない。助言がほしい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>リターンを押したときsubmitされてしまうのを防ぐ為に、 >送信ボタンをinput type="submit"から"button"に変更し、 エンターの回避するだけならこんな感じでどうでしょう? <script> try{ document.addEventListener ('keydown',function(e){keydown(e)},true); }catch(e){ document.attachEvent('onkeydown',function(e){keydown(e)}); } function keydown(e){ var t = (e.srcElement || e.target); if(t.nodeName=="INPUT" && t.type=="text" && e.keyCode==13){ if(e.preventDefault)e.preventDefault(); else e.returnValue = false; } } </script> <form id="index" name="index" action="index.php?=thanks#page" method="POST"> <p> <input type="text" name="a"> <input type="submit" value="x" class="button wide green" id="btn_dammy"> <input type="submit" value="y" class="button wide green" id="btn01"> </p> </form> やはりバリデートするならsubmit時に内容チェックするのが妥当かと
その他の回答 (2)
- ONEONE
- ベストアンサー率48% (279/575)
開発者ツールはお使いでしょうか。 firefoxやchrome(IEもありますが使いにくい)でF12キーを押すと開発者ツールウィンドウが表示されますので、そこからコンソールを表示するとjavascriptのエラーがある場合は表示されます。
お礼
はい、IEで使っております。 chromeのほうが使いやすいのですね。今度、試してみます。 どうもありがとうございました!
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 ぱっと見ておかしいと思ったのは if(window.confirm(送信してもよろしいですか?)){ ここですが、「送信してもよろしいですか?」は文字列ですので if(window.confirm("送信してもよろしいですか?")) { と、【"】にて囲む必要があります。掲載の際の転記ミスならすみません。
お礼
ありがとうございました! おっしゃる通り掲載の際の転記ミスでしたが、すぐにお気づきになってすごいです。 また何かありましたらよろしくお願いします。
お礼
ありがとうございました! 実は、先ほど解決しまして、valueの中身が送られておらず、それによってモードを判定していたための不具合でした。 書いてくださったソースは後で、じっくり参考にさせていただきたいとおもいます! (初心者ゆえにパッと見ただけではよくわからないので・・)どうもありがとうございました!