Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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 在按下enter键提交表单后,如何查找留下的输入字段。_Javascript_Jquery - Fatal编程技术网

Javascript 在按下enter键提交表单后,如何查找留下的输入字段。

Javascript 在按下enter键提交表单后,如何查找留下的输入字段。,javascript,jquery,Javascript,Jquery,我有三个HTML输入字段。如果我在第二个字段中输入内容,然后按enter键,则会触发错误功能。我想突出显示在回车时触发错误函数的第二个字段。 如何捕获触发错误函数的第二个输入字段 不处理按enter键,但会自动按submit按钮 您试图实现的目标可能是以下两件事之一: 1。每当字段值发生更改时进行值检查。 为此,您有一个onChange事件,您可以这样管理它: $("input").on("change",function() { var field = $(this); //

我有三个HTML输入字段。如果我在第二个字段中输入内容,然后按enter键,则会触发错误功能。我想突出显示在回车时触发错误函数的第二个字段。 如何捕获触发错误函数的第二个输入字段


不处理按enter键,但会自动按submit按钮

您试图实现的目标可能是以下两件事之一:


1。每当字段值发生更改时进行值检查。
为此,您有一个onChange事件,您可以这样管理它:

$("input").on("change",function() {
    var field = $(this);
    // field.val() is the value
    // field.attr("name") is the name of your input element
    errorCheck(field); // your error checker
});

2。提交表单时进行值检查。 要做到这一点,您必须记住上次关注的输入。将onFocus事件附加到您的输入:

var lastFocused = 0;
$("input").on("focus",function() { lastFocused = $(this); });
$("form").on("submit",function() {
    // now you have the value in lastFocused.val()
    // lastFocused itself is a jQuery object of the field
    errorCheck(lastFocused); // this is your own error checker of course
});
现在,无论用户如何提交表单(例如按enter键),都可以检查该值

注意提交表单时也会使用第一种方法(onChange);当焦点离开自聚焦后已修改的字段时,会发生这种情况。因此,当您输入某个内容并提交时,您将同时收到提交和更改事件。(不确定先选哪一个。)

还请注意如果出现错误,您必须处理停止表单提交的问题-否则(在回发情况下),页面将重新加载或更改,输入的所有内容将随风而逝。Ajax提交是处理这一问题的一个很好的选择。(iFrame是另一种,只是不太现代。)


如果这不是问题的答案,那么让我们进一步完善这个问题:)

你能提供你目前正在使用的代码吗?@MatthewW。很抱歉没有多少代码可以显示。它只有3个输入字段和1个提交按钮。当我说错误函数时,它与输入/按键事件无关。错误函数附加到每个输入字段,检查条件并在不满足条件时触发错误消息。您应该添加一个onSubmit事件处理程序,当存在和错误时返回false。在该事件处理程序中,您可以设置焦点并在有问题的事件上选择文本textbox@Bindrid在进入onSubmit事件后,如何找到我留下的输入字段?(按下enter之前)看起来像是Dkellner覆盖的。我要补充的唯一一件事是,如果您在函数中包含事件obj,您可以获得导致它的所有细节。下面的代码看起来像$(“input”).on(“change”、function(evt){}等等。evt.target通常是触发事件的客户机控件。