从我如何解释约束验证规范(特别是第 3.1-3 部分)来看,UA 维护了一个无效控件列表,我认为这些无效控件出现在向用户报告任何问题之前(即该列表之前已完全填充)向用户显示错误)。
有没有办法解决那些无效的控件?我设想在提交处理程序中放置一些内容,该处理程序使用无效控件(如果有)来填充 DOM 元素并显示给用户。
从我如何解释约束验证规范(特别是第 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)');