我想在我使用jQuery構建的表單上應用字段驗證。我也使用animate.css
來應用不同的動畫類。Animate.css問題與jQuery單擊事件
假設我有一個電子郵件字段,用戶點擊提交併檢查他們輸入的電子郵件是否有效。如果不是,則將shake
動畫應用於輸入字段。
的代碼,我到目前爲止有:
$submit.click(function(event) {
event.preventDefault();
var email = $input.val();
// This does not seem to ever fire.
$input.removeClass('shake');
if (!method.validateEmail(email) || $.trim(email) == '') {
$input.addClass('shake');
return;
}
$form.submit();
});
此作品首次在用戶提交表單。但是,任何後續點擊都不會重現動搖動畫。我試圖在檢查電子郵件是否有效之前嘗試應用removeClass('shake'),但似乎並沒有發生。
我想出來的另一種方法是設置一個2000ms的間隔來檢查輸入字段是否有一個動搖類,如果是的話就將其刪除,但這是錯誤的,因爲用戶可以提交表單300ms在間隔結束之前,導致動畫僅持續該剩餘時間量。該區間的代碼是:
setInterval(function() {
if ($input.hasClass('shake')) {
$input.removeClass('shake');
}
}, 2000);
小提琴可以在http://jsfiddle.net/9Zs9T/1/
任何想法如何有形式搖無效輸入每一個提交可以找到?謝謝。
你可以請一個jsfiddle嗎? –
http://jsfiddle.net/9Zs9T/ – mousesports
我忘了'搖動'動畫......貼在這裏:http://jsfiddle.net/9Zs9T/1/ – mousesports