我當前的代碼將輸入字段邊框的顏色更改爲綠色(如果它是有效的電子郵件),如果它是無效的電子郵件,則將其改爲紅色。
HTML:單擊瀏覽器的自動建議選項時運行jQuery功能
<input class="ui_input2 no_space" id="input_email" type="email" name="email" style="height:25px; width:300px; font-size:16px;" required />
的jQuery:鍵入時
$(document).ready(function() {
$('#input_email').keyup(function() {
var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
var val_i_email = $("#input_email").val();
var empty = false;
$('#input_email').each(function() {
if (val_i_email < 5 || !emailReg.test(val_i_email)) {
empty = true;
}
});
if (empty) {
$(this).addClass("invalid");
$(this).removeClass("valid");
} else {
$(this).addClass("valid");
$(this).removeClass("invalid");
}
});
});
一切完美,但如果你點擊一個選項(例如:以前使用的電子郵件),邊框的顏色似乎並沒有改變,除非你編輯了一下文字。
屏幕截圖:
我點擊上面突出顯示的選項。下面是結果: -
有沒有辦法來點擊自動提示選項時,再次運行另一個函數或相同的功能?
jsfiddle
你有什麼打算,如果用戶通過提交表單做lastpass或繞過這些事件的其他擴展?看到這個線程:http://stackoverflow.com/questions/16262791/how-to-dis-allow-spaces-in-multiple-inputs/ – gillyspy 2013-04-28 14:26:06