如何专注于在返回 false 不起作用的 js 中的第一个错误输入
Posted
技术标签:
【中文标题】如何专注于在返回 false 不起作用的 js 中的第一个错误输入【英文标题】:How to focus on first input of error in js where return false is not working 【发布时间】:2021-01-15 05:44:24 【问题描述】:我有多个输入字段,如果三个字段显示错误,则焦点转到最后一个错误字段。
如何在第一个错误字段上设置焦点等等。我试过return false;
,但它不起作用。 preventDefault()
也不起作用。
这是我的 name 字段的 js 代码,其余字段验证与此 name 字段相同,但验证规则除外。
if (name.length < 1)
$('#name_error').text(NAME_ERROR);
$('#name').focus();
error = true;
// return false; not working
else
var regEx = /^[A-Za-z ]+$/;
var validName = regEx.test(name);
if (!validName)
$('#name_error').text(INVALID_NAME_ERROR);
$('#name').focus();
error = true;
// return false; not working
else
$('#name_error').text('');
error = false;
【问题讨论】:
【参考方案1】:选项 1 - 将类添加到有错误的字段,然后您可以使用下面的代码来关注第一个错误元素。
$('.error-class').first().focus()
选项 2 - 创建函数顶部的变量并将第一个错误字段的 ID 存储在其中。在验证规则结束时,会触发存储在变量中的元素 ID 的焦点。
【讨论】:
以上是关于如何专注于在返回 false 不起作用的 js 中的第一个错误输入的主要内容,如果未能解决你的问题,请参考以下文章
UITextField becomeFirstReponder 不起作用并返回 false
autoProcessQueue = false在dropzone.js中不起作用
阿拉莫火!在多部分文件上传中,progress.isPausable 返回 false,progress.pause() 不起作用