我有一个ASP.NET MVC应用程序,我想把第一个字段集中在错误中。在提交时,如果最后一个字段有错误并且用户尝试提交表单,则焦点将转到错误的最后一个字段而不是第一个字段。我试过多次,包括以下内容:
a
是否存在任何解决方案,用户始终可以错误地转到第一个字段。
答案 0 :(得分:2)
无需在此处使用每个错误并循环遍历所有错误。您只需将焦点设置为first
元素,错误类为input-validation-error
,如:
$('.input-validation-error:first').focus();
答案 1 :(得分:0)
@Palash有一个很好的答案但我会解释为什么你的代码不起作用所以你理解它。
您需要在焦点设置为第一个项目后离开循环,方法是返回false,如下所示:
$(".input-validation-error").each(function () {
$(this).focus();
return false;
});
当你返回false时,你指示jQuery停止处理剩下的元素。否则,它将继续循环,你最终会聚焦最后一项。
答案 2 :(得分:0)
您可以使用eq
方法。
eq
方法将匹配元素的集合减少为 指定的索引。
$('.input-validation-error').eq(0).focus();