我在HTML中有三个输入字段。如果我在第二个字段中输入了某些内容,然后按回车键,则会触发错误功能。我想突出显示在输入时触发错误功能的第二个字段。 如何捕获触发错误功能的第二个输入字段?如何查找输入提交表单后按下的输入字段。
按回车键不处理,但自动按提交按钮。
我在HTML中有三个输入字段。如果我在第二个字段中输入了某些内容,然后按回车键,则会触发错误功能。我想突出显示在输入时触发错误功能的第二个字段。 如何捕获触发错误功能的第二个输入字段?如何查找输入提交表单后按下的输入字段。
按回车键不处理,但自动按提交按钮。
你想达到什么是可能的两种情况之一:
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是另一种,只是不很现代化。)
如果这不是问题的答案,让我们细化的问题:)
你能提供你目前正与代码? –
@MatthewW。抱歉。没有太多的代码要显示。它只有3个输入字段和1个提交按钮。当我说错误功能时,它与enter/keypress事件无关。错误函数附加到每个输入字段,检查条件并在不满意时触发错误消息。 – haeminish
您应该添加一个onSubmit事件处理程序,该处理程序在出现错误时返回false。在该事件处理程序中,您可以设置焦点并在违规文本框中选择文本 – Bindrid