我尝试将一个输入数字(html)设置为仅为正数,并找到了这个好的解决方案:
<input type="number" name="test_name" min="0" oninput="validity.valid||
(value='');">
有人可以告诉我oninput="validity.valid||(value='');是如何工作的吗?它如何将输入限制为仅正数。
谢谢!
我尝试将一个输入数字(html)设置为仅为正数,并找到了这个好的解决方案:
<input type="number" name="test_name" min="0" oninput="validity.valid||
(value='');">
有人可以告诉我oninput="validity.valid||(value='');是如何工作的吗?它如何将输入限制为仅正数。
谢谢!
min="0"
只接受大于零的数字。所以当用户输入值(oninput
)时,它要么是有效的(validity.valid
),要么(||
)该值被替换为空字符串 (value=''
)。
编辑:
validity.valid
是 falsy 的,因为它遵循 文档 中的rangeUnderflow属性要求:
"如果该值小于由 min 属性指定的最小值"
validity.valid
与约束条件 min=0
有什么关系吗? - Juan Pablo