Javascript 一种检查HTML5表单有效性的方法?
是否可以根据我为html5表单设置的模式检查其输入元素是否有效?我知道psuedo类的东西。。但我希望能像这样:Javascript 一种检查HTML5表单有效性的方法?,javascript,forms,html,dom,Javascript,Forms,Html,Dom,是否可以根据我为html5表单设置的模式检查其输入元素是否有效?我知道psuedo类的东西。。但我希望能像这样: document.getElementById('RequestName')。有效 可以返回true或false 我真的希望我不需要创建javascript来重新验证这些东西。您可以使用 它将在客户端验证它,所以不需要在客户端再次验证它 但是,请确保在服务器端再次执行此操作 还要注意的是,由于浏览器兼容性目前相当差,JavaScript是验证客户端的标准。有两种方法可以检查有效性
document.getElementById('RequestName')。有效
可以返回true
或false
我真的希望我不需要创建javascript来重新验证这些东西。您可以使用
它将在客户端验证它,所以不需要在客户端再次验证它
但是,请确保在服务器端再次执行此操作
还要注意的是,由于浏览器兼容性目前相当差,JavaScript是验证客户端的标准。有两种方法可以检查有效性
inputElement.checkValidity()
返回true
或false
inputElement.validity
返回有效性状态对象inputElement.validity.valid
返回true/false
()。为了补充,您可以检查每个元素是否无效,例如,通过以下代码在第一个无效元素中设置焦点:
var Form = document.getElementById('FormID');
if (Form.checkValidity() == false) {
var list = Form.querySelectorAll(':invalid');
for (var item of list) {
item.focus();
}
}
谢谢,我试图避免使用任何框架,我的模式属性已经设置好了。我希望可以通过DOM访问输入元素,并确定该元素是否为value。是的,我知道:)我已经进行了相同的设置,我希望避免使用任何JQuery表单验证程序。我知道我可以为自己设置验证的模式或类型。我已经做到了。但我想在输入元素有效后调用函数。我正在侦听元素上的“onKeyUp”事件,但无法验证它们是否确实有效。我有CSS来传达元素的有效性,但这还不够。@Henry你可以循环使用
输入
元素,提取它们的模式
属性并测试生成的正则表达式。是的-这正是我想要避免的:)我确实找到了答案:函数checkValid(){document.getElementById('email').validity.valid;};在Chrome和iOS 4.3中可以使用:)谢谢Alex!@Henry啊,是的,我在那里看到了这个属性,并打算提到它:)嗯,我只是想要一个向后兼容的checkValidity插件。似乎你的库有太多内置函数,文档很难阅读。我认为更改
event更适合于有效性检查。有没有办法在HTML模式中使用标志(例如,i
)?