我有一个表单,当提交时(空字段)显示前端jsp中的弹簧验证错误。我需要将显示屏聚焦在前端显示的第一条错误消息中。从表单生成的代码(通过视图源):例如,div元素中包含的2错误消息。我需要把重点放在第一条错误信息上。
<div id="userid.errors" class="lp">User id is missing</div>
<div id="age.errors" class="lp">age is missing</div>
我尝试了下面的jquery代码,但它仅适用于IE而不适用于Firefox。在Firefox中,尽管css样式处理得当,但焦点仍然无效。
我确信语法和逻辑是正确的 - 有人可以帮我修复firefox浏览器吗?
<script type="text/javascript" src="/scripts/jquery.min.js"></script>
<script type="text/javascript" src="/scripts/jquery.validate.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("[id$='.errors']:first").css("background-color","#FFFFCC");
setTimeout(function(){
$("[id$='.errors']:first").focus();
},300);
});
</script>
答案 0 :(得分:2)
我不明白你为什么要集中一个div和你期望的东西,通常你不能集中一个div,但你可以这样做,
$(document).ready(function() {
$("[id$='.errors']:first").css("background-color","#FFFFCC");
setTimeout(function(){
$("[id$='.errors']:first").attr("tabindex",-1).focus();
alert(document.activeElement.innerHTML+ "is focussed");
},300);
});