我有一个钱文本框,我已将类型设置为数字,以两位数的精度输入数值,并限制输入字母或符号的方式始终为0.00格式。表单中的所有文本框似乎都可以验证,直到一个文本框约减少7个值。 HTML5验证发生并以红色突出显示,并且在允许表单提交之前指出“您必须输入有效值”。我看不出这个值是无效的。我尝试过多种模式。我需要type = number来允许在移动设备中设置正确的键盘。将类型设置为文本并且数字键盘不显示。HTML5输入类型号码货币验证失败
这是引发错误的输入:
input name="ctl00$MainContent$lvAccounts$ctrl6$txtAccountBalance" tabindex="21" class="MoneySelection jqNumeric ThisRow" id="ctl00_MainContent_lvAccounts_ctrl6_txtAccountBalance" type="number" step="0.01" pattern="^\d+\.\d{2}$" value="40980.66"
但是正上方,与其他框沿着它们似乎通过(假定从上到下验证):
input name="ctl00$MainContent$lvAccounts$ctrl5$txtAccountBalance" tabindex="21" class="MoneySelection jqNumeric ThisRow" id="ctl00_MainContent_lvAccounts_ctrl5_txtAccountBalance" type="number" step="0.01" pattern="^\d+\.\d{2}$" value="16374.29"
这里还有一个奇怪之处......我将该值设置为41980.66,并且验证正确。我设置为39980.66,它失败,设置为31980.66并验证。
我读过关于窗体上的novalidate选项,但这会影响/否定任何RequiredFieldValidators?如果正则表达式不正确,为什么它对某些值而不是其他值有效?
我试过不同的模式和内联VS jQuery属性没有成功。我能够在jsFiddle上使用IE11重新创建我的浏览器 http://jsfiddle.net/8821dhfj/
我可以确认Chrome没有这个问题。当使用最小和最大属性时,它“似乎”解决问题,但仅改变引发验证错误的美分值。更改41980.66到41980.67,并且它失败http://jsfiddle.net/8821dhfj/2/ – AdamRoof