防止html输入类型=数字永远为空

防止html输入类型=数字永远为空,html,input,Html,Input,我知道HTML5允许输入number类型,其中只允许用户输入数字类型。当我的页面加载时,我将默认输入设置为0,但用户可以删除此值,以便在用户点击提交时提交空白输入(null)?有没有一种方法可以让用户在删除输入中的所有数字时,默认值恢复为0?我这里不是说验证 试图避免一个丑陋的JS黑客,但如果这是唯一的方法,那么我想我将不得不走这条路。所以使用。除非有效,否则不会提交 输入:无效{ 边框:1px纯红; } 输入:有效{ 边框:1px纯绿色; } 选一个号码? 提交 HTML5验证规则仅在提交

我知道HTML5允许输入
number
类型,其中只允许用户输入数字类型。当我的页面加载时,我将默认输入设置为0,但用户可以删除此值,以便在用户点击提交时提交空白输入(null)?有没有一种方法可以让用户在删除输入中的所有数字时,默认值恢复为0?我这里不是说验证

试图避免一个丑陋的JS黑客,但如果这是唯一的方法,那么我想我将不得不走这条路。

所以使用。除非有效,否则不会提交

输入:无效{
边框:1px纯红;
}
输入:有效{
边框:1px纯绿色;
}

选一个号码?
提交

HTML5验证规则仅在提交表单时有用。如果要防止输入为空,需要使用一些JS

以下(不是“丑陋的JS黑客”)将适用于页面上的所有
number
输入,如果用户试图将输入留空,则插入
0

const numinput=document.querySelectorAll('input[type=number]”)
numInputs.forEach(函数(输入){
input.addEventListener('change',函数(e){
如果(e.target.value==''){
e、 target.value=0
}
})
})

//这个简单的解决方案对我来说很好。

mjerenja兄弟:
因此添加验证。我想你是对的,我没有别的想法。这应该是一个内置的属性,非常感谢你!这正是我所需要的!回答得好!尽管我试图阻止用户从一开始就有一个空白输入,正如Brett在上面的回答中指出的那样,没有js是不可能的。或者,当没有值集时,您可以在设置默认值的代码上处理它。这就是我要做的。我不会依赖JavaScript来设置默认值。
//This simple solution worked fine for me.

    <form method="post">
    <br>
    <div> Broj mjerenja:<input type="number" name="num1" min="1" max="1000"> </div>
    <div><input type="submit" value="Unesi"></div>
</form>

 <?php 
$brojMjerenja=10;//just in case
if ((isset($_POST['num1']))&&(($_POST['num1'])!="")) {
    $brojMjerenja =$_REQUEST['num1'];
}
 ?>