如何专注于在返回 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中不起作用

基于正则表达式的行删除脚本(JS)不起作用

阿拉莫火!在多部分文件上传中,progress.isPausable 返回 false,progress.pause() 不起作用

python cv2.Videocapture() 不起作用,cap.isOpened() 返回 false

专注于下一个输入不起作用以及当用户在最后一个输入字段时如何提交表单