[英]Trigger jquery form validation if field is autofilled by browser
我正在使用jquery keyup來匹配正則表達式,又是用戶輸入,以驗證輸入是否與我想要的匹配。
$("input[name=vat]").keyup(function(){
var vatVal = $(this).val();
var vatReg = /^[0-9-]{6,}$/;
if (!vatReg.test(vatVal)) {
$(this).removeClass("success");
$(this).addClass("error");
} else {
$(this).removeClass("error");
$(this).addClass("success");
if (!$("span[name=vaterror]").hasClass("hide")) {
$("span[name=vaterror]").addClass("hide");
}
}
});
但是某些瀏覽器預填寫表單字段時出現問題。 如果用戶已設置瀏覽器設置,例如Chrome,Chrome可以為您預填充某些輸入字段。
發生這種情況時如何觸發驗證?
我認為這是重復項很不好,我將其解釋為選擇瀏覽器建議的選項,而不是頁面加載時實際的初始預填充。
我很確定在觸發document.ready()
之前,仍然沒有辦法捕獲瀏覽器的預填充。 但是您可以利用它來發揮自己的優勢。
對於所有不具有默認值的輸入字段,只需觸發您在document.ready事件中捕獲的事件:
$(document).ready(function(){
$('input[value!=""]').trigger('keyup');
});
此代碼未經測試,如果您在偵聽keyup的任何處理程序中使用隨機鍵的鍵盤代碼,則可能必須將其添加到事件中。 請參閱觸發器文檔 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.