Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML5输入类型数字货币验证失败_Html_Validation - Fatal编程技术网

HTML5输入类型数字货币验证失败

HTML5输入类型数字货币验证失败,html,validation,Html,Validation,我有一个money文本框,我将其类型设置为number,以输入两位数精度的值,并限制输入字母或符号,使其始终为0.00格式。表单中的所有文本框似乎都可以很好地验证,直到一个文本框下了大约7个值。HTML5验证发生,并以红色突出显示,并在允许提交表单之前声明“必须输入有效值”。我不明白这个值怎么是无效的。我尝试了多种模式。我“需要”输入type=number,以便在移动设备中设置正确的键盘。将类型设置为文本,数字键盘不显示 这是引发错误的输入: input name="ctl00$MainCont

我有一个money文本框,我将其类型设置为number,以输入两位数精度的值,并限制输入字母或符号,使其始终为0.00格式。表单中的所有文本框似乎都可以很好地验证,直到一个文本框下了大约7个值。HTML5验证发生,并以红色突出显示,并在允许提交表单之前声明“必须输入有效值”。我不明白这个值怎么是无效的。我尝试了多种模式。我“需要”输入type=number,以便在移动设备中设置正确的键盘。将类型设置为文本,数字键盘不显示

这是引发错误的输入:

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"
但就在上面,以及它们似乎通过的其他框(假设从上到下验证):

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选项,但这是否会影响/否定任何必需的FieldValidator?如果正则表达式不正确,为什么它适用于某些值而不适用于其他值

我尝试了不同的模式和内联与jQuery属性,但没有成功。我能够使用IE11作为浏览器在JSFIDLE上重新创建 不要在JavaScript中使用type=“number”。看起来它在IE中不受支持


或者使用。

我可以确认Chrome没有这个问题。使用“最小”和“最大”属性时,“似乎”可以解决问题,但只更改引发验证错误的美分值。将41980.66更改为41980.67会失败,感谢您的参考,但IE似乎也有自己的问题。如果没有输入类型=数字,似乎就没有其他方法可以在移动设备中显示数字键盘。使用如何?这将显示数字键盘。