2017-02-27 63 views
0

我在HTML中有三个输入字段。如果我在第二个字段中输入了某些内容,然后按回车键,则会触发错误功能。我想突出显示在输入时触发错误功能的第二个字段。 如何捕获触发错误功能的第二个输入字段?如何查找输入提交表单后按下的输入字段。

按回车键不处理,但自动按提交按钮。

+0

你能提供你目前正与代码? –

+0

@MatthewW。抱歉。没有太多的代码要显示。它只有3个输入字段和1个提交按钮。当我说错误功能时,它与enter/keypress事件无关。错误函数附加到每个输入字段,检查条件并在不满意时触发错误消息。 – haeminish

+2

您应该添加一个onSubmit事件处理程序,该处理程序在出现错误时返回false。在该事件处理程序中,您可以设置焦点并在违规文本框中选择文本 – Bindrid

回答

0

你想达到什么是可能的两种情况之一:


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 
}); 

现在你可以检查值不管用户如何提交一个表单(例如,按下回车)。

注意第一种方法(onChange)也会在提交表单时发生;它发生在焦点离开自焦点后已被修改的字段。因此,当您输入内容并提交时,您将同时获得提交更改事件。 (不知道哪一个先。)

还要注意,你必须处理停止表单提交,如果你有错误 - 否则(在回传的情况),该页面将重新加载或改变,那就全输入的内容将随风而逝。 Ajax提交是处理这个问题的好选择。 (iFrame是另一种,只是不很现代化。)

如果这不是问题的答案,让我们细化的问题:)