您好我有两个html type = number
的文本框<input data-sign="BHD " type="number" class="widthinput input__field input__field--yoshiko validation-passed" value="" name="special_price" id="special_price">
<input data-sign="BHD " value="" type="number" class="required-entry validate-zero-or-greater input__field input__field--yoshiko validation-passed" name="price" id="price">
这是我的用于检查的js代码
if(parseFloat(jQuery('#special_price').val()) >= parseFloat(jQuery('#price').val())){
console.log(parseFloat(jQuery('#special_price').val()));
console.log(parseFloat(jQuery('#price').val()));
alert("You can't enter special price greater than price");
jQuery("html, body").animate({ scrollTop: 0 }, "slow");
e.preventDefault();
return false;
}
当我输入像
这样的值时价格:160,special_price:90
这个js条件工作正常,但是当我输入像
这样的值时价格250.750,特价55.350
这种情况失败并在控制台中给我错误
An invalid form control with name='price' is not focusable.
An invalid form control with name='special_price' is not focusable.
我在Chrome浏览器上。
答案 0 :(得分:1)
您的代码正常运行,请检查您的jquery库。请参阅jsfiddle
或者向表单添加novalidate
属性会有所帮助:
<form name="myform" novalidate>
<强>更新强>
数字类型的step
值控制哪些数字有效(以及max
和min
),默认为 1 < / strong>即可。步进按钮的实现也使用此值(即按下增加step
)。
<input type="number" step="0.01">
只需将此值更改为适当的值即可。为了钱,可能需要两位小数:
(如果它只能是正数,我也设置min = 0)
如果您希望允许任意数量的小数位,可以使用step="any"
(但对于货币,我建议坚持使用0.01)。在Chrome&amp; Firefox,使用any
时,步进按钮将递增/递减1,并查看the relevant spec here)
这是一个操场,展示各种步骤如何影响各种输入类型:
<form>
<input type=number step=1 /> Step 1 (default)<br />
<input type=number step=0.01 /> Step 0.01<br />
<input type=number step=any /> Step any<br />
<input type=range step=20 /> Step 20<br />
<input type=datetime-local step=60 /> Step 60 (default)<br />
<input type=datetime-local step=1 /> Step 1<br />
<input type=datetime-local step=any /> Step any<br />
<input type=datetime-local step=0.001 /> Step 0.001<br />
<input type=datetime-local step=3600 /> Step 3600 (1 hour)<br />
<input type=datetime-local step=86400 /> Step 86400 (1 day)<br />
<input type=datetime-local step=70 /> Step 70 (1 min, 10 sec)<br />
</form>
&#13;
答案 1 :(得分:0)
问题是 type =&#34; number&#34; 当我将其更改为 type =&#34; text&#34; 并且我正在验证号码时来自js现在工作正常。