Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 指向验证后的第一个字段_Javascript_Html_Jsp - Fatal编程技术网

Javascript 指向验证后的第一个字段

Javascript 指向验证后的第一个字段,javascript,html,jsp,Javascript,Html,Jsp,我有一个网页,其中有复选框、输入字段、下拉列表等 使用javascript检查强制条件。如果有人未能填写这些字段,请按“下一步”按钮验证错误弹出窗口 现在我想实现的是,当有人未能在必填字段中输入信息时,光标应该转到导致错误的第一个字段 有人能建议我怎么做吗?这一行将把页面的焦点放在您指定的元素上。您应该能够在验证检查中实现这一点,以关注坏元素 document.getElementById(“ID_Of_bad_字段”).focus()此行将把页面焦点放在您指定的元素上。您应该能够在验证检查中实

我有一个网页,其中有复选框、输入字段、下拉列表等

使用javascript检查强制条件。如果有人未能填写这些字段,请按“下一步”按钮验证错误弹出窗口

现在我想实现的是,当有人未能在必填字段中输入信息时,光标应该转到导致错误的第一个字段


有人能建议我怎么做吗?

这一行将把页面的焦点放在您指定的元素上。您应该能够在验证检查中实现这一点,以关注坏元素


document.getElementById(“ID_Of_bad_字段”).focus()

此行将把页面焦点放在您指定的元素上。您应该能够在验证检查中实现这一点,以关注坏元素

document.getElementById(“ID_Of_bad_字段”).focus()

为每个无效字段添加一个类(类似于
输入错误
)。然后使用类似于:

var errors = document.querySelectorAll(".input-error");
if (errors.length > 0) {
    errors[0].focus();
}
下面是一个例子:

这实际上完全取决于代码的结构、验证的方式、验证的实际操作以及HTML是什么

同时,如果您正在执行类似于我的示例的操作,那么最好跟踪第一个输入,并记录一个错误,然后在验证结束时跟踪它。大概是这样的:

更新:

Bergi指出,最好使用
querySelector
(而不是
querySelectorAll
),因为您只查找有错误的第一个输入。下面是一个更新:

var error_input = input_area.querySelector(".input-error");
if (error_input !== null) {
    error_input.focus();
}

以下是
querySelector
:注意 之所以使用“
”.input error“
,是因为它是CSS类选择器,会在特定区域中找到第一个(如果有的话)元素,该元素的类为“input error”。

为每个无效字段添加一个类(类似于
input error
)。然后使用类似于:

var errors = document.querySelectorAll(".input-error");
if (errors.length > 0) {
    errors[0].focus();
}
下面是一个例子:

这实际上完全取决于代码的结构、验证的方式、验证的实际操作以及HTML是什么

同时,如果您正在执行类似于我的示例的操作,那么最好跟踪第一个输入,并记录一个错误,然后在验证结束时跟踪它。大概是这样的:

更新:

Bergi指出,最好使用
querySelector
(而不是
querySelectorAll
),因为您只查找有错误的第一个输入。下面是一个更新:

var error_input = input_area.querySelector(".input-error");
if (error_input !== null) {
    error_input.focus();
}

以下是
querySelector
:注意
之所以使用“
”.input error“
,是因为这是CSS类选择器,它会在特定区域中找到第一个(如果有)元素,该元素的类为“input error”。

您可以循环遍历每个字段,然后在第一个空的焦点集中。以及显示空字段结果。是的,使用
.focus()
。请向我们展示您的代码(验证和弹出),以便我们可以告诉您如何获得第一个输入。您可以在每个字段中循环,然后在第一个空的焦点上循环。以及显示空字段结果。是的,使用
.focus()
。请向我们展示您的代码(验证和弹出),这样我们就可以告诉您如何获取第一个输入。@Bergi:否则您将如何获取第一个输入?
document.querySelector()
?在看到您的评论之前,我正在使用另一个选项进行编辑。对我来说,我查询的原因是,在这种情况下,事物是分开的,以至于验证发生在它自己的函数中,或者发生在一些无法控制的事情中。编辑:不知道你具体指的是什么:)@Bergi Well-crap。我总是忘记那件事。谢谢你(谢谢你)真是太好了helpful@Bergi:否则您将如何获得第一个?
document.querySelector()
?在看到您的评论之前,我正在使用另一个选项进行编辑。对我来说,我查询的原因是,在这种情况下,事物是分开的,以至于验证发生在它自己的函数中,或者发生在一些无法控制的事情中。编辑:不知道你具体指的是什么:)@Bergi Well-crap。我总是忘记那件事。谢谢你谢谢你这很有帮助