フォーム内で表示する確認ダイアログで「はい」を押しても送信されない
解決済
無し
1件
以下のようなコードでフォームから送信する処理を書いています。
送信前に一度確認ダイアログを表示させるため、onclick属性でJavascriptの関数(submit_confirm)を呼び出しています。
しかし、なぜかダイアログで「はい」を選択してもフォームが送信されません。
jsの関数内に設置してあるログは正常に出力されていますので、jsの呼び出しに問題はありません。
原因はフォームの送信処理側にあると予想していますが、いまいちその箇所が特定ができません。
よろしくお願いします。
html
送信前に一度確認ダイアログを表示させるため、onclick属性でJavascriptの関数(submit_confirm)を呼び出しています。
しかし、なぜかダイアログで「はい」を選択してもフォームが送信されません。
jsの関数内に設置してあるログは正常に出力されていますので、jsの呼び出しに問題はありません。
原因はフォームの送信処理側にあると予想していますが、いまいちその箇所が特定ができません。
よろしくお願いします。
html
<form name="form" id="form" method="POST"> <input type="text"> <button type="button" onclick="return submit_click();">送信</button> </form>
javascript
<script> function submit_confirm(){ console.log('submit_confirm()'); if(confirm("送信します。よろしいですか?")){ return true; } else{ return false; } } </script>
html
javascript
ベストアンサーに選ばれた回答
フォームをsubmit(送信)する記述が無いからでしょう。
buttonのtypeを"submit"に変更するか、javascript内でsubmitする処理を追加してください
buttonのtypeを"submit"に変更するか、javascript内でsubmitする処理を追加してください
<form name="form" id="form" method="POST"> <input type="text"> <!-- submitに変更 --> <button type="submit" onclick="return submit_click();">送信</button> </form>
buttonのtypeは変更せずに、javascript内で送信する場合はこんな感じです
<script> function submit_confirm(){ if(confirm("送信します。よろしいですか?")){ $('#form')[0].submit(); } } </script>
回答の編集
この質問はすでに終了しているため変更できません
typeをsubmitに変更することで解決しました!ありがとうございます
