3

一般来说,我对 SO 和 Web 开发都是新手。对不起,我的普遍无知。

我已经建立了一个表单,它在表单提交之前进行了验证。我已经包含了 jqueryTOOLS 基本验证器:http ://www.jquerytools.org/demos/validator/index.html

它工作正常,但我需要调整错误消息的位置,我发现我可以使用以下代码来完成:

$("#myform").validator({
position: 'center left',
offset: [-2, 80],
});

但是,它正在调整包含错误消息的 div 左侧的位置。因为我希望错误出现在每个字段的左侧,所以我试图锚定错误消息的右侧,而不是左侧。

因此,虽然我可以使用位置和偏移量来移动错误消息,但我希望我正在移动的错误消息的点能够改变。

这很重要,因为错误消息的长度不同,因此如果我锚定左侧,那么更长的消息将覆盖需要交互的字段。

我希望这很清楚,如果没有,我可以解释更多!:)

4

1 回答 1

2

问题是由于 jquery 工具插件设置了leftcss 属性与right 属性。它绝对位于页面上,因此它为“左中”所做的计算是不正确的。它应该计算与页面右侧的距离,而不是左侧。你甚至可以在他们的演示页面上看到这个失败:只需打开一个控制台并运行它:

$("#myform").validator({position:'center left', offset:[0,0]})

点击提交,你会看到它不起作用

您可以强制为错误宽度设置一定的宽度(例如 200),然后您可以传入 offset:[0,200] 并且它会正确显示。

否则,您可能必须手动修复插件源中的逻辑(并向他们提交错误!)

于 2012-06-27T20:54:16.310 回答