我正在使用JQuery 验证插件。
如果可以将错误放在正在验证的 FORM 元素之外,我会徘徊。我想将所有错误标签放在 DOM 的底部并将它们更改为绝对位置。我试过这样的事情:
errorPlacement: function(error, element) {
var position = element.offset();
error.appendTo('body'); // put the error label before end of <body>
error.css('position', 'absolute');
error.css('left', position.left + element.innerWidth());
error.css('top', position.top);
error.addClass('error-message'); // add a class to the wrapper
这做了什么 - 如果您在输入中输入一些无效数据,错误标签显示正常,但是在您输入有效数据后,标签不会被删除。(我猜由于错误标签不是表单元素的子元素,因此验证插件根本找不到它)
为什么我需要它?
这是因为我有大量不同的客户端站点,它们具有不同的 HTML 布局和设计。有时表单位于宽度较小的 DIV 中,并且错误标签不适合该 div。我看到的唯一解决方案是将错误标签放在 DOM 的末尾,然后用绝对位置将它们放在正确的位置,在无效字段的前面。
关于如何使插件在 FORM 之外工作的建议?