如果字段由浏览器自动填充,则触发jquery表单验证
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一样,如果用户设置了浏览器设置,可以为您预先填充某些输入字段。
发生这种情况时,我如何触发验证?
我不认为这是重复的,我把它解释为选择了浏览器建议的选项,而不是页面加载时的实际初始预填充。
我敢肯定,仍然没有办法捕捉到浏览器预填充,因为它发生在document.ready()
被触发之前。但你可以利用这一点为自己谋利。
只需触发您在document.ready事件上捕获的事件,用于所有没有默认值的输入字段:
$(document).ready(function(){
$('input[value!=""]').trigger('keyup');
});
此代码未经过测试,如果在任何监听keyup的处理程序中使用随机键的键盘代码,则可能需要将其添加到事件中。请参阅触发器文档。
相关文章:
- 如何使用jQuery验证引擎验证组
- jQuery:使用“jQuery验证”后无法提交表单's远程验证
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- jQuery验证器添加方法未定义
- jQuery验证插件submitHandler Ajax
- 使用jquery验证函数不适用于select元素
- 动态jQuery验证
- 如果使用jQuery验证器插件找到单选按钮,则将不同的addMethod应用于字段
- 使用jquery验证信用卡
- 未使用jQuery验证器选中Css样式复选框时
- 自定义jquery验证器
- Jquery验证消息更改(自定义消息集)
- 时间日志的javascript/jquery验证(5小时3米)
- jQuery 验证正在复制 else 语句 |验证完成后,不会打印值
- 将动态验证文本添加到自定义jQuery验证规则中
- Jquery 验证插件 - 字段仍然产生错误
- 验证字段名称 添加 与 使用 jquery 验证
- JQUERY 验证 - 序列化选择和复选框
- jQuery 验证 - 调用某些元素的 .valid() 方法不会清除错误
- 带有jquery验证问题的php表单