2017-02-22 12 views
-1

私の姓の要素に「If」ステートメントで情報があるかどうかを確認したいが、どこに配置するのか、または間違っているのか分からない。目的は最終的にすべてのボックスが満たされているかどうかを確認してから送信ボタンを押すことです。それで、これをチェックする最善の方法は何ですか? フォーム内のボックスに情報があるかどうかチェック

function check() { 
 
    let lastName = document.findElementById('last-name').value; 
 
    addressForm = document.shippingAddressForm; 
 

 

 
    addressForm.addEventListener('submit', (event) => { 
 
    event.preventDefault(); 
 

 
    }); 
 
    alert("Please enter all fields "); 
 

 
}
<head> 
 
    <meta charset="utf-8"> 
 
    <title>JavaScript</title> 
 
    <link href="style.css" rel="stylesheet"> 
 
    <script src="main.js" defer></script> 
 
</head> 
 

 
<body> 
 
    <form id="shipping-address-form" name="shippingAddressForm" action="#" method="post"> 
 
    <h1>Shipping Address</h1> 
 

 
    <div class="flex-container"> 
 
     <div> 
 
     <label for="first-name">First Name:</label> 
 
     <input type="text" id="first-name" name="firstName" /> 
 
     </div> 
 

 
     <div> 
 
     <label for="last-name">Last Name:</label> 
 
     <input type="text" id="last-name" name="lastName" /> 
 
     </div> 
 
    </div> 
 

 
    <div class="flex-container"> 
 
     <label for="address">Address:</label> 
 
     <input type="text" id="address" name="address" /> 
 
    </div> 
 

 
    <div class="flex-container"> 
 
     <div> 
 
     <label for="city">City:</label> 
 
     <input type="text" id="city" name="city" /> 
 
     </div> 
 

 
     <div> 
 
     <label for="state">State:</label> 
 
     <input type="state" id="state" name="state" /> 
 
     </div> 
 

 
     <div> 
 
     <label for="zip-code">Zip Code:</label> 
 
     <input type="text" id="zip-code" name="zipCode" /> 
 
     </div> 
 
    </div> 
 

 
    <div class="flex-container"> 
 
     <div> 
 
     <label for="phone-number">Phone Number:</label> 
 
     <input type="text" id="phone-number" name="phoneNumber" /> 
 
     </div> 
 

 
     <div> 
 
     <label for="email">Email:</label> 
 
     <input type="text" id="email" name="email" /> 
 
     </div> 
 
    </div> 
 

 
    <div class="button"> 
 
     <button type="submit">Submit</button> 
 
    </div> 
 
    </form> 
 
</body>

+0

このリンクはhttps://www.w3schools.com/js/js_validation.asp –

+0

ます。また 'required'属性を使用して試すことができますに役立つかもしれません.com/tags/att_input_required.asp –

答えて

0

問題

あなたが機能check()を呼び出していませんでした。あなたはそれを定義しました。

推奨する解決方法

私は機能check()の内容を削除し、これを試してみてください。あなたはFF

と表示エラーメッセージをしたい場合は、この例では、唯一の

function check() { 
 
    
 
    alert("Please enter all fields "); 
 

 
}
<head> 
 
    <meta charset="utf-8"> 
 
    <title>JavaScript</title> 
 
    <link href="style.css" rel="stylesheet"> 
 
    <script src="main.js" defer></script> 
 
</head> 
 

 
<body> 
 
    <form id="shipping-address-form" name="shippingAddressForm" action="#" method="post" onsubmit='check()'> 
 
    <h1>Shipping Address</h1> 
 

 
    <div class="flex-container"> 
 
     <div> 
 
     <label for="first-name">First Name:</label> 
 
     <input type="text" id="first-name" name="firstName" /> 
 
     </div> 
 

 
     <div> 
 
     <label for="last-name">Last Name:</label> 
 
     <input type="text" id="last-name" name="lastName" /> 
 
     </div> 
 
    </div> 
 

 
    <div class="flex-container"> 
 
     <label for="address">Address:</label> 
 
     <input type="text" id="address" name="address" /> 
 
    </div> 
 

 
    <div class="flex-container"> 
 
     <div> 
 
     <label for="city">City:</label> 
 
     <input type="text" id="city" name="city" /> 
 
     </div> 
 

 
     <div> 
 
     <label for="state">State:</label> 
 
     <input type="state" id="state" name="state" /> 
 
     </div> 
 

 
     <div> 
 
     <label for="zip-code">Zip Code:</label> 
 
     <input type="text" id="zip-code" name="zipCode" /> 
 
     </div> 
 
    </div> 
 

 
    <div class="flex-container"> 
 
     <div> 
 
     <label for="phone-number">Phone Number:</label> 
 
     <input type="text" id="phone-number" name="phoneNumber" /> 
 
     </div> 
 

 
     <div> 
 
     <label for="email">Email:</label> 
 
     <input type="text" id="email" name="email" /> 
 
     </div> 
 
    </div> 
 

 
    <div class="button"> 
 
     <button type="submit">Submit</button> 
 
    </div> 
 
    </form> 
 
</body>

ともに関数を呼び出す示して(必要なHTML https://developer.mozilla.org/en-US/docs/Web/HTML/Element/inputrequired属性を使用しているが、より良いページの半分です)

エラーメッセージ

Firefoxにカスタムエラーメッセージが表示されるようにするにはフィールドが検証に失敗し、あなたはそうするためにX-MOZ-にErrorMessage属性を使用することができます。ここ

<input type="email" 
x-moz-errormessage="Please specify a valid email address."> 
0

は、問題の古い学校のソリューションです:

の作業フィドル:https://jsfiddle.net/almamun1996/k6n7ufou/19/

HTML:

<body> 
    <form id="shipping-address-form" name="shippingAddressForm" action="#" method="post"> 
     <h1>Shipping Address</h1> 

     <div class="flex-container"> 
      <div> 
      <label for="first-name">First Name:</label> 
      <input type="text" id="first-name" name="firstName" /> 
      </div> 

      <div> 
      <label for="last-name">Last Name:</label> 
      <input type="text" id="last-name" name="lastName" /> 
      </div> 
     </div> 

     <div class="flex-container"> 
      <label for="address">Address:</label> 
      <input type="text" id="address" name="address" /> 
     </div> 

     <div class="flex-container"> 
      <div> 
      <label for="city">City:</label> 
      <input type="text" id="city" name="city" /> 
      </div> 

      <div> 
      <label for="state">State:</label> 
      <input type="state" id="state" name="state" /> 
      </div> 

      <div> 
      <label for="zip-code">Zip Code:</label> 
      <input type="text" id="zip-code" name="zipCode" /> 
      </div> 
     </div> 

     <div class="flex-container"> 
      <div> 
      <label for="phone-number">Phone Number:</label> 
      <input type="text" id="phone-number" name="phoneNumber" /> 
      </div> 

      <div> 
      <label for="email">Email:</label> 
      <input type="text" id="email" name="email" /> 
      </div> 
     </div> 

     <div class="button"> 
      <input type="button" id="btnSubmit" onclick="check()" value="Submit"/> 
     </div> 
     </form> 
</body> 

JSます。https:://www.w3schools

function check() { 
    if(document.getElementById('first-name').value == null || document.getElementById('first-name').value.trim() == ''){ 
    alert("Please enter first-name "); 
    document.getElementById("first-name").focus(); 
    return false; 
    } 
    if(document.getElementById('last-name').value == null || document.getElementById('last-name').value.trim() == ''){ 
    alert("Please enter last-name "); 
    document.getElementById("last-name").focus(); 
    return false; 
    } 
    if(document.getElementById('address').value == null || document.getElementById('address').value.trim() == ''){ 
    alert("Please enter address "); 
    document.getElementById("address").focus(); 
    return false; 
    } 
    if(document.getElementById('city').value == null || document.getElementById('city').value.trim() == ''){ 
    alert("Please enter city "); 
    document.getElementById("city").focus(); 
    return false; 
    } 
    if(document.getElementById('state').value == null || document.getElementById('state').value.trim() == ''){ 
    alert("Please enter state "); 
    document.getElementById("state").focus(); 
    return false; 
    } 
    if(document.getElementById('zip-code').value == null || document.getElementById('zip-code').value.trim() == ''){ 
    alert("Please enter zip-code "); 
    document.getElementById("zip-code").focus(); 
    return false; 
    } 
    if(document.getElementById('phone-number').value == null || document.getElementById('phone-number').value.trim() == ''){ 
    alert("Please enter phone-number "); 
    document.getElementById("phone-number").focus(); 
    return false; 
    } 
    if(document.getElementById('email').value == null || document.getElementById('email').value.trim() == ''){ 
    alert("Please enter email "); 
    document.getElementById("email").focus(); 
    return false; 
    } 
alert('Form validated'); 
} 
関連する問題