我知道HTML 5允许输入类型number,它只允许用户输入数字类型的输入.当我的页面加载时,我将默认输入设置为0,但用户可以删除此值,以便在用户点击提交时提交空白输入(null)?有没有办法让用户删除输入中的所有数字时,默认值为0?我这里不是在谈论验证.
试图避免一个丑陋的JS黑客,但如果这是唯一的方式,那么我想我将不得不走那条路.
epa*_*llo 10
所以使用HTML5验证.除非有效,否则不会提交.
input:invalid {
border: 1px solid red;
}
input:valid {
border: 1px solid green;
}Run Code Online (Sandbox Code Playgroud)
<form>
<label for="num">Pick a number?</label>
<input id="num" name="number" type="number" value="0" min="0" required>
<button>Submit</button>
</form>Run Code Online (Sandbox Code Playgroud)
HTML5验证规则仅在提交表单时有用。如果要防止输入为空,则需要使用一些JS。
以下内容(不是“丑陋的JS黑客”)将适用于number页面上的所有输入,并0在用户尝试将输入保留为空时插入值。
const numInputs = document.querySelectorAll('input[type=number]')
numInputs.forEach(function(input) {
input.addEventListener('change', function(e) {
if (e.target.value == '') {
e.target.value = 0
}
})
})Run Code Online (Sandbox Code Playgroud)
<input type="number" required value="0" />
<input type="number" required value="0" />Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14271 次 |
| 最近记录: |