我正在使用JQuery Validation来验证表单中的特定文本框。文本框是可选的website
部分,它使用url
验证方法。这工作正常并相应地验证。我希望将http://
预设到文本框中,以保存用户必须键入它。但是,设置文本后,验证程序将变为“活动”,并且在手动删除http://
或输入有效网站之前,会阻止提交表单上的任何内容。有没有办法在文本框中预先设置文本,这不会导致验证器开始验证?
我尝试使用
$("[id$='tbWebsite']").val("http://");
在我致电form.validate()
之前,但它不起作用(即它仍然会被检查)。
我之前从未使用过JQuery Validator,所以希望我能解决这个错误!
特别是针对我的案例的替代解决方案,可以是在按下某个按钮时激活验证器(而不是表单上的任何按钮)。那可能吗?
由于
更新
我已将此添加到文本框声明中:
onfocus="if(this.value == 'http://' || this.value == '')this.value='http://'" onblur="if(this.value == 'http://')this.value=''"
这解决了主要问题。但是,如果用户单击文本框,然后单击“离开”,则仍会显示错误消息(即使未强制执行,也可以提交表单)。如果值为'http://',那么确保错误消息根本不显示的最佳方法是什么?
答案 0 :(得分:1)
仅在用户关注空文本框时输入前缀,如果文本框失去焦点且仅前缀
,则将其删除