jQuery: maskedinput插件与validation插件不兼容。

3
我刚开始学习jquery,尝试使用验证插件进行表单验证。然后我发现了maskedinput插件(http://digitalbush.com/projects/masked-input-plugin/),并尝试在电话号码字段上使用它。
事情有一定的进展: 当电话字段获得焦点时,它会显示占位符并允许您输入电话号码,并限制您仅输入数字 - 非常好!
但是,如果您只输入9个数字而不是所需的10个数字(假设为美国电话号码),是的,这很少见,但更疯狂的事情已经发生了,而且还将继续发生,如果您点击提交按钮,那么已经存在于电话字段中的任何内容都将被清除。如果您输入整个电话号码,但在其他字段上验证失败,则电话字段中的条目将保留。
如何避免这种情况发生?
谢谢 hgg

嗨,这是一个验证插件和掩码输入一起工作的示例,它可能会对你有所帮助。http://jquery.bassistance.de/validate/demo/marketo/step2.htm - Alex KeySmith
Alex,这个例子显示它们不能一起工作。区别在于您提供的示例没有在表单元素上设置.valid样式。
  • 点击信用卡号码输入框
  • 输入3个数字
  • 点击其他地方
  • 当不应该时,该字段现在被标记为“有效”。
- James
你有没有找到解决这个问题的方法?我也遇到了同样的麻烦。 - Amanda Kitson
1个回答

0
如果您使用了掩码输入插件,它的工作方式是允许所有值或不允许任何值。因此,如果您想要9/10个值,最好不要使用掩码输入,因为掩码输入可以有限制数量的值,只能定义那么多,不能更少也不能更多。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接