在做表单验证时,如果表单信息比较多,导致提交按钮和错误信息没在已屏显示,就会导致无法提交,又没有友好提示的问题。
理想的解决办法就是在验证发生错误时,自动定位到错误提示的地方,方便用户查看和修改。
$("#Send").click(function (e) { // 这行是 Opera 的补丁, 少了它 Opera 是直接用跳的而且画面闪烁 $body = (window.opera) ? (document.compatMode == "CSS1Compat" ? $(‘html‘) : $(‘body‘)) : $(‘html,body‘); //表单提交出现错误定位到具体出错位置 方便用户进行修改 if (!$(‘form).valid()) { var targetId = ""; $($(‘form).validate().errorList).each(function (index, item) { if (targetId == "") { targetId = $($(item).attr(‘element‘)).attr(‘id‘); } }); $body.animate({ scrollTop: $(‘#‘ + targetId).offset().top - 30 }, 500); return; } });
跳转到出错的第一个位置
时间: 2024-11-29 10:18:41