我跟着Nadia在这里jQuery override default validation error message display (Css) Popup/Tooltip like优秀的职位,它的工作很棒。但是我正在处理的表单通过ajax提交,表单上方的表格在成功时更新表格随着每次提交而增长,并且表单的位置在页面上滑落。 Nadia的解决方案在调用errorPlacement函数时提供了错误消息。问题是errorPlacement仅在第一次发生错误时被调用。当用户纠正错误时,div被隐藏但不被移除。所以下一次验证失败时,validate函数只会替换div包装器的html。因此绝对位置是关闭的,因为它是在表被修改之前相对于输入计算的。有没有人遇到这个问题,并有一个解决方法?下面是我正在使用的错误位置函数,它是直接在链接文章中使用Nadia的解决方案。jQuery验证errorPlacement问题时,添加工具提示样式错误信息
errorPlacement: function(error, element) {
offset = element.offset();
error.insertBefore(element)
error.addClass('message'); // add a class to the wrapper
error.css('position', 'absolute');
error.css('left', offset.left + element.outerWidth());
error.css('top', offset.top);
}
是的,这是诀窍。谢谢! – 2010-10-08 13:59:54
我错过了每次触发验证时都会调用的方法。这个解决方法使我的一天。太好了!谢谢! – metamagicson 2013-12-03 10:43:06