2013-10-10 37 views
0

我使用下面的代碼的警告消息的文本框中更新使用jQuery

$(document).ready(function() { 
    $('#vbus-id').keyup(function() { 
     var text_value = document.getElementById("vbus-id").value; 

     if (!text_value.match(/\b[0-9A-F]\b/gi)) { 
      document.getElementById("vbus-id").value = ""; 
      // document.getElementById("vbus-id").focus(); 
      var message = "You have entered a invalid id.Vbus id ranges   from 0 to F in hexadecimal"; 
      test.innerHTML = message; 
     } 
    }); 
}); 

驗證十六進制數。如果任何數字比0 to 9A to F進入其他它將清除文本框和下面顯示一個警告消息。但如果我在此之後添加了正確的數字,則警告消息不會被清除。如果在輸入錯誤後輸入有效條目,如何清除警告消息?

jsFiddle

回答

1

您已經定義會發生什麼if形式不驗證(設置信息),但你還需要定義什麼在相反的情況下(else)發生:

$(document).ready(function() { 
    $('#vbus-id').keyup(function() { 
     var text_value = document.getElementById("vbus-id").value; 

     if (!text_value.match(/\b[0-9A-F]\b/gi)) { 
      document.getElementById("vbus-id").value = ""; 
      // document.getElementById("vbus-id").focus(); 
      var message = "You have entered a invalid id.Vbus id ranges   from 0 to F in hexadecimal"; 
      test.innerHTML = message; 
     } else test.innerHTML = ''; 
    }); 
}); 
+0

明白了.. Thanks..waiting 11分鐘接受的答案 – acr

0

你可以嘗試總是設置消息空白的第一對KEYUP ...

$('#vbus-id').keyup(function() { 
    test.innerHTML = ""; 
    var text_value = document.getElementById("vbus-id").value; 

...