前提・実現したいこと
モーダルを使用してお問い合わせフォームを作成しています。
・流れとしてはお問い合わせを押すとモーダル表示
・送信ボタンをクリックするとフォームの情報をconsoleに表示後閉じる
発生している問題・エラーメッセージ
・consoleと同時に閉じるのが少し気になるのですが、表示後閉じるというのは可能なのでしょうか?
・現在メールアドレスが正しくなくても閉じてしまいます
該当のソースコード
html
1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5 <meta charset="UTF-8"> 6 <title>お問い合わせ</title> 7</head> 8<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/modaal@0.4.4/dist/css/modaal.min.css"> 9<style> 10 #modal { 11 display: none; 12 } 13</style> 14 15<body> 16 <a href="#modal" class="show">お問い合わせ</a> 17 <div id="modal"> 18 <h3>お問い合わせ</h3> 19 <form> 20 <p>お名前: <br><input id="name" type="text" name="your_name"></p> 21 <p>メールアドレス:<br> <input id="email" type="email" name="your_email"></p> 22 <p>お問い合わせ内容:<br><textarea id="textarea" name="detail" rows="2"></textarea></p> 23 <p><input type="checkbox" name="mail" value="yes">確認メールを受け取る</p> 24 <div> 25 <input type="reset" value="クリア"> 26 <input id="submit" type="submit" value="送信"> 27 </div> 28 </form> 29 30 </div> 31 32 <script src="https://code.jquery.com/jquery-3.5.0.min.js" integrity="sha256-xNzN2a4ltkB44Mc/Jz3pT4iU1cmeR0FkXs4pru/JxaQ=" crossorigin="anonymous"></script> 33 <script src="https://cdn.jsdelivr.net/npm/modaal@0.4.4/dist/js/modaal.min.js" integrity="sha256-e8kfivdhut3LQd71YXKqOdkWAG1JKiOs2hqYJTe0uTk=" crossorigin="anonymous"></script> 34 <script type="text/javascript"> 35 $('.show').modaal(); 36 ({ 37 is_lockesd: true, 38 }); 39 // $('#submit').click(() => { 40 41 42 // }) 43 $("#submit").click(function() { 44 // 送信ボタンを押したときの処理 45 console.log('お名前:', $('#name').val()); 46 console.log('メールアドレス:', $('#email').val()); 47 console.log('お問い合わせ内容:', $('#textarea').val()); 48 $('.show').modaal('close'); 49 return false; 50 51 }); 52 </script> 53</body> 54 55</html> 56
試したこと
エラー時の対処を探しているのですが、検索ワードがそもそもこの場合どう入れるのが適切なのか悩んでいます。
現状もきれいな状態ではないかと思いますが、ご容赦ください。
### 追記
jquery
1$("#submit").click(function() { 2 // 送信ボタンを押したときの処理 3 var error; // エラー用の変数を定義 4 if ( error ) { 5 // エラーが見つかった場合 6 return false; 7 } else { 8 // エラーがなかった場合 9 return true; 10 } 11 console.log('お名前:', $('#name').val()); 12 console.log('メールアドレス:', $('#email').val()); 13 console.log('お問い合わせ内容:', $('#textarea').val()); 14 $('.show').modaal('close'); 15 16 17 });
これだとうまくいったのですが、consoleだけが表示されなくなりました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/25 01:58 編集
2021/06/25 02:07
2021/06/25 02:11 編集
2021/06/25 02:14
2021/06/25 03:35
2021/06/25 03:48