名前、問い合わせ内容、パスワードが入力後や送信(submit)したときに空欄だった場合に入力欄を赤枠にする処理が出来ません。
CSSで赤枠に変える定義をして、JSで実際に事象がおこった場合に表示させるというのをやりたいです。
赤枠を付けることは出来ますが、JSでfunctionを用いて事象の処理をさせることができません。
ネットで調べたりいろいろしていますがどれも理解できません。
HTML <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>課題</title> <meta name="description" content="課題。"> <link rel="stylesheet" href="css/style.css"> <script type="text/javascript" src="js/sample.js"></script> </head> <body> <header> </header> <div id="main" class="contact"> <h2>問い合わせフォーム</h2> <form> <div class="form-item"> <p>名前:</p> <input class="entry-field" type="text" name="name" placeholder="名前を入力してください" required> </div> <div class="form-item"> <p>問い合わせ内容:</p> <textarea class="entry-field" rows="5" name="inquiry" required></textarea> </div> <div class="form-item"> <p>パスワード:</p> <input class="entry-field" type="password" name="pass" placeholder="Enteer password." > </div> <p></p> <button class="btn-flat-border" type="submit">送信</button> <button class="btn-flat-border" type="reset">リセット</button> </form> </div> </body> </html> CSS @charset "utf-8"; html { height: 100%; } body { font-family: sans-serif; color: #222; margin: 0px; } #main { margin: 80px 2.5% 0px 2.5%; } h2 { padding: 0.25em 0.5em;/*上下 左右の余白*/ color: #494949;/*文字色*/ background: transparent;/*背景透明に*/ border-left: solid 5px #7db4e6;/*左線*/ } .contact { background: white; margin: 80px 10% 20px 10% !important; padding: 0.5em 3em 1em 3em; border-radius: 8px; } .form-item { border: solid 0.5px silver; border-radius: 8px; padding: 0 1em 1em 1em; margin-bottom: 0.5em; } .entry-field { width: 75%; border: solid 0.75px silver; border-radius: 2px; } .entry-field:focus { border: solid 1px #7db4e6; outline: solid 1px #7db4e6; } .btn-flat-border { margin: 5% 4%; width: 40%; background: white; display: inline-block; padding: 0.3em 1em; text-decoration: none; color: #67c5ff; border: solid 2px #67c5ff; border-radius: 3px; transition: .4s; } .btn-flat-border:hover { background: #67c5ff; color: white; } .btn-flat-border:focus { outline: none; } .entry-field:invalid {border: solid 1px red;}
同じような質問を繰り返していますが前の質問に追記するか、
閉じてからそれを踏まえた質問してください
・https://teratail.com/questions/iublxlwr18e3ng
・https://teratail.com/questions/iuj5pqti09hc5i
回答2件