我们是否可以访问 UA 应该为 HTML5 表单 API 维护的无效控件列表

Can we access the list of invalid controls the UA is supposed to maintain for HTML5 forms api?

本文关键字:维护 API 表单 无效 列表 控件 HTML5 是否 访问 UA 我们      更新时间:2023-09-26

从我解释约束验证规范的方式(特别是第 3.1-3 部分)来看,UA 维护了一个无效控件列表,我假设这些控件出现在向用户报告任何问题之前(即在向用户显示错误之前已完全填充列表)。

有没有办法获取这些无效控件?我正在设想将一些东西放入一个提交处理程序中,该处理程序使用无效控件(如果有)来填充 DOM 元素并显示给用户。

是和否。您引用的列表是私有的。但是您可以使用简单的伪类选择器":invalid"来获取字段。

如果你想得到那些无效的元素,你可以简单地写:

//This of course only works in HTML5 API supporting browsers:
//pure JS:
var invalidList = documet.querySelectorAll('form.my-class :invalid:not(fieldset)');
//or jQuery (in case you use webshims this will also work in IE7+)
var invalidList = $('form.my-class :invalid:not(fieldset)');