关注使用jquery验证器的第一个feld
我正在使用jquery验证程序验证表单字段。对于以下字段:关注使用jquery验证器的第一个feld,jquery,jquery-validate,Jquery,Jquery Validate,我正在使用jquery验证程序验证表单字段。对于以下字段: 重点是在第三个领域,即电子邮件2,但我想集中在第一个领域,即传真 错误消息显示在文本和其他静态文本之间,这是由于对齐在此处和那里移动。显示消息的最佳方式 在少数情况下,只显示错误消息,而不显示焦点,因为用户不知道错误 代码: 有人能提供解决方案吗?使用 invalidHandler: function(form, validator) { var errors = validator.numberOfInvalids();
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
validator.errorList[0].element.focus();
}
}
您自己的代码导致了您描述的问题
errorPlacement: function (error, element) {
error.insertAfter(element);
element.focus(); // <- this line is causing your whole problem
},
工作代码演示:您能展示一些验证代码吗?我添加了我正在使用的代码。2。错误消息显示在文本和其他静态文本之间,这是由于对齐在此处和那里移动。显示消息的最佳方式。这在更改错误后工作。insertAfter(元素);到error.appendTo(element.next());:是您自己造成了
element.focus()
的问题。只需删除这一行。非常感谢!!它起作用了。当显示“错误”时,“对齐正在向左移动”意味着文本正在向左移动,我该怎么做才能向右移动而不是向左移动。@bharghavivajrala您好,如果它有效,您可以执行+1并接受答案。就您当前的问题而言,我已经解决了。您可以编辑问题,我将告诉您答案。谢谢!OP自己的代码导致了他的整个问题。他根本不需要.focus()
,因为该插件可以自动很好地处理这个问题。因此,您不需要再次调用.focus()
就可以使用invalidHandler
。这只在第一个字段上工作一次,若表单在长表单中有第二个等字段,则不设置焦点。
errorPlacement: function (error, element) {
error.insertAfter(element);
element.focus(); // <- this line is causing your whole problem
},
errorPlacement: function (error, element) {
error.insertAfter(element);
},