2013-02-17 72 views
1

我需要創建一個簡單的驗證函數,基本上鏡像默認的jQuery驗證。到目前爲止它工作正常,但我不能在輸入時使錯誤消息消失。一旦你點擊輸入字段,它會消失,但我希望它在我輸入時觸發。請你能指點我正確的功能,目前我正在使用.change。jQuery自定義驗證 - 輸入更改

的jsfiddle - http://jsfiddle.net/clintongreen/tLpB4/7/

JS

$('#save_menu').click(function(){ 
var value  = $('input#new_menu').val(); 
if (value.length){ 
     console.log('shows success message'); 
     $('.success').css('display','block'); 
     } 

else{ 
     console.log('shows error message'); 
     $('.error').css('display','block'); 
     } 
}); 

$('#new_menu').on('change', function() { 
     $('.error').hide(); 
     console.log('hides error message'); 
}); 

HTML

<input id="new_menu" type="text" name="new_menu" placeholder="Please enter your menu title" onkeypress="return event.keyCode!=13"> 
<input name="save_menu" value="Save Menu" type="submit" id="save_menu"> 
<label class="error" style="display: none;">Please enter a Menu name</label> 
<label class="success" style="display: none;">That is correct</label> 

回答

2

更換'change''keyup'。每次有人按下按鍵時都會觸發事件。

問題:如果某人剛剛按下Shift或Ctrl或Alt鍵,則會觸發。

+0

太棒了,謝謝:) – 2013-02-17 21:25:56