A.P*_*adi 6 javascript validation jquery focus
在运行验证例程后,有没有办法强制关注第一个无效输入?像这样的东西:
$("input:invalid:first").focus();
Run Code Online (Sandbox Code Playgroud)
或者
$("input:first:invalid").focus();
Run Code Online (Sandbox Code Playgroud)
您可以根据类别选择输入,然后使用:first过滤器
$('.error').filter(":first").focus()
Run Code Online (Sandbox Code Playgroud)
这提供了更好的性能,因为:first是 jQuery 扩展,而不是 CSS 规范的一部分。使用 :first 的查询无法利用本机 DOM querySelectorAll() 方法提供的性能提升。
编辑:您可以使用 jQuery 插件,例如jQuery Validator。这会在无效输入上添加类错误,因此您可以捕获它并更改焦点
如果您有表单选择器,这将起作用
调用此后
form[0].checkValidity()
Run Code Online (Sandbox Code Playgroud)
你可以这样称呼
//var form = $(form);
//var form = $("#formId");
form.find(":invalid").first().focus();
Run Code Online (Sandbox Code Playgroud)
当调用 checkValidity 时,浏览器会将样式“:invalid”添加到我确信您已经知道的字段中。因为你只需要第一个来聚焦,我们将首先使用然后聚焦链
可能有更好的选择来做同样的事情,但这就是我所做的。
| 归档时间: |
|
| 查看次数: |
10193 次 |
| 最近记录: |