我已经设置,需要实现三个单独的目标:
- 客户端验证(这是使用 jQuery Validate 插件完成的)
- 整洁的数字格式(这是使用 jQuery autoNumeric 插件完成的)
- iPad/iPhone 键盘在纯数字字段上弹出(这是使用输入元素上的 pattern="[0-9]*" 属性完成的 - 我不能使用 HTML5 type="number",因为 autoNumeric 插件不支持它) .
问题是,虽然它有效,但 validate 插件会引发浮点值错误(无效格式),因为小数点分隔符与 pattern="[0-9]*" 正则表达式不匹配。请在下面找到一个示例输入字段:
<input type="text" id="acme" name="acme" size="4"
data-autonumeric="{vMin: '0.00'}" class="required number autoNumeric"
min="0.0" step="0.01" pattern="[0-9*]">
有没有办法以某种方式禁用模式验证,最好在全局范围内,对所有已验证的字段,或者每个字段?或者也许还有另一种方法可以在 iPad/iPhone 上强制使用数字键盘,这并不意味着 type="number" 或 pattern="[0-9*]"?
编辑:
我找到了解决此问题的方法,请参阅下面的答案。如果有人有更好的想法,请分享。谢谢你。