必須項目の値が入力されていたら、お問い合わせ完了ページが別ウインドウで開かれる。
その際に、form内の値をリセットする。
必須項目が入力されていない場合、formは送信されず、エラーメッセージが表示される。
ということがしたいです。
他のJSが邪魔をしているなどは、原因に含まれるのでしょうか?
他に原因が思い浮かばないのでどなたか教えて頂けますと、幸いです。
発生している問題・エラーメッセージ
error.style.display = "block";が効かない。
それ以外は動いてると思います。
該当のソースコード
<form id="form" action="send.php" name="form" onsubmit="validate()" target="_blank"> <input id="need" type="text" name="name" required> <div id="error" style="display: none;"> <p>お名前を入力してください</p> </div> <input id="need" type="text" name="kana" required> <div id="error" style="display: none;"> <p>ふりがなを入力してください</p> </div> <input id="need" type="text" name="old" required> <div id="error" style="display: none;"> <p>年齢を入力してください</p> </div> <button type="submit">送信する</button> </form>
<script type="text/javascript"> function validate(){ const form = document.getElementById("form"); const need = document.getElementById("need"); const error = document.getElementById("error"); if(need.value == null){ return form; error.style.display = "block"; }else{ form.submit(); form.reset(); } </script>
試したこと
classList.addを試してみましたが、うまくいきませんでした。
styleの指定を直書きでなく、cssファイルで記述してみました。これもうまくいきませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/19 10:55
2021/09/19 11:00
2021/09/19 11:14
2021/09/20 05:19
2021/09/20 05:21 編集
2021/09/20 07:24