2017-10-29 5 views
0

以下のコードは、情報が入力されるとメッセージが表示され消えますが、複数のフィールドがある場合でもエラーメッセージが一度に1つずつ表示されます。検証します。今すぐボタンをクリックするとすべての検証が表示されます。jQuery検証フィールド:有効な情報を入力するとエラーメッセージが表示されなくなる

HTML:

<form> 
    <br> 
    <label for="first_name">First Name:</label> 
    <input type="text" id="first_name" name="first_name" required> <span class="error" id="first_error"></span> 

<label for="last_name">Last Name:</label> 
    <input type="text" id="last_name" name="last_name" required> <span class="error" id="last_error"></span> 

のjQuery:

$(document).ready(function(){ 

$("#mysubmit").click(function(){ 
    var myFirstName = $("#first_name").val().trim(); 
    $("#first_name").val(myFirstName); 

    var myLastName = $("#last_name").val().trim(); 
    $("#last_name").val(myLastName); 

    var myFirstNameError = $('#first_error').val(); 
    $('#first_error').val(""); 

    if(!myFirstName) 
    { 
     $("#first_error").html("You must Enter a First Name"); 
    } 
    else 
    { 
      $("#first_error").html(""); 
    } 

    if(!myLastName) 
    { 
     $("#last_error").html("You must Enter a Last Name");  
    } 
    else 
    { 
      $("#last_error").html(""); 
    } 

答えて

1

私は、これはあなたを助けることを願っています。次回はブラケット閉鎖、あるいは全くのボタンなど

私は、構文のエラーをお詫び申し上げます最初

$(document).ready(function(){ 
 

 
$("#mysubmit").click(function(){ 
 
    var myFirstName = $("#first_name").val().trim().length; 
 
    // $("#first_name").val(myFirstName); 
 

 
    var myLastName = $("#last_name").val().trim().length; 
 
    // $("#last_name").val(myLastName); 
 

 
    //var myFirstNameError = $('#first_error').val(); 
 
    //$('#first_error').val(""); 
 

 
    if(myFirstName>0) 
 
    { 
 
     $("#first_error").html(""); 
 
    } 
 
    else 
 
    { 
 
      $("#first_error").html("You must Enter a First Name"); 
 
    } 
 

 
    if(myLastName>0 || !myFirstName>0) 
 
    { 
 
     $("#last_error").html("");  
 
    } 
 
    else 
 
    { 
 
      $("#last_error").html("You must Enter a Last Name"); 
 
    } 
 
    }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <br> 
 
    <label for="first_name">First Name:</label> 
 
    <input type="text" id="first_name" name="first_name" required> <span class="error" id="first_error"></span><br> 
 

 
<label for="last_name">Last Name:</label> 
 
    <input type="text" id="last_name" name="last_name" required> <span class="error" id="last_error"></span><br> 
 
<button id="mysubmit" >Submit</button> 
 
</form>

+0

を提出するよう、マニュアルのエラーのような任意の構文エラーが発生することなく、あなたのコードが読みやすく、ポスト完全なコードを確認します。第二に、あなたのコードはうまくいくが、私は各フィールドを一度に1つずつ検証したい。最初にボタンをクリックすると、ファーストネームが表示され、ファーストネームを入力してから姓を入力せずにボタンをクリックしようとするまで、ファーストネームエラーが表示されません。何か案は? – TRS7

+0

自分のコードを編集しました。ここでは条件の順序が重要です。賢明に注意してください。 –

+0

ご協力いただきありがとうございます!それは有り難いです。 – TRS7

関連する問題