2017-09-06 52 views
0

我已經通過使用下面的代碼,但錯誤消息試過迅速消失在jQuery驗證錯誤信息消失很快

$(document).ready(function() { 
    $('form').submit(function() { 
     if ($("#first").val().match('^[a-zA-Z]{3,16}$')) { 
      alert("valid"); 
     } else { 
      $("#error_msg").after("invalid"); 
     } 
    }) 
}) 
+0

嘗試添加event.preventDefault();在其他 – XYZ

+0

任何人都可以幫助我如何顯示錯誤信息從快速消失 – tamil

+0

你是什麼意思「快速消失」? – RickL

回答

1

使用event.preventDefault()。如果調用此方法,則不會觸發該事件的默認操作。

$(document).ready(function() { 
 
    $('form').submit(function(event) { 
 
    if ($("#first").val().match('^[a-zA-Z]{3,16}$')) { 
 
     alert("valid"); 
 
    } else { 
 
     $("#error_msg").empty().text("invalid"); 
 
     alert("invalid"); 
 
     event.preventDefault(); 
 
    } 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
<input type="text" id="first"> 
 
<div id="error_msg"></div> 
 
<button type="submit">submit</button> 
 
</form>

+1

@RoryMcCrossan謝謝指出。更新了答案 – XYZ

+0

感謝sujith tahnks您的外籍人士我得到了答案 – tamil

1

使用preventDefault()方法阻止發生一個元素的默認動作:

$(document).ready(function(){ 
    $('form').submit(function(e){ 
    if($("#first").val().match('^[a-zA-Z]{3,16}$')){ 
     alert("valid"); 
    } 
    else{ 
     e.preventDefault(); 
     $("#error_msg").after("invalid"); 
    } 
    }) 
}) 
+0

,但如果我嘗試再次單擊提交錯誤消息(無效)顯示連續像invalidinvalidinvalid – tamil

0

使用return false;

$(document).ready(function(){ 
    $('form').submit(function(e){ 
    if($("#first").val().match('^[a-zA-Z]{3,16}$')){ 
     alert("valid"); 
    } 
    else{  
     $("#error_msg").after("invalid"); 
     return false; 
    } 
    }) 
}) 
+0

@tamil你有答案嗎? – Anuresh

+0

yaeh我得到了答案謝謝 – tamil

0

使用return falsepreventDefault()方法來停止動作:

$(document).ready(function(){ 
    $('form').submit(function(e){ 
    if($("#first").val().match('^[a-zA-Z]{3,16}$')){ 
     alert("valid"); 
    } 
    else{ 
     $("#error_msg").after("invalid"); 
     return false; 
     //or 
     e.preventDefault(); 
    } 
    }) 
})