javascript - 检查一个或两个输入字段是否为空,值为 0 或负数
问题描述
我有两个如下所示的输入字段:
<input type="number" class="formateninput form-control hoogtebreedte" name="breedte" max="<?php echo $explodemax[0]?>" min="<?php echo $explodemin[0]?>">
<input type="number" class="formateninput form-control hoogtebreedte" name="hoogte" max="<?php echo $explodemax[1]?>" min="<?php echo $explodemin[1]?>">
我不希望人们在继续之前能够输入 0、小于 1 或什么都不输入。
因此,在我的 jquery 中,我有以下 if 语句:
if($('.hoogtebreedte').val() !== '' && $('.hoogtebreedte').val() !== 0 && $('.hoogtebreedte').val() > 0){
go ahead
}else{
stop
}
一切正常,除了当你添加一个数字时,例如 90 到第一个输入,0 到第二个,它仍然继续。为什么会这样,我该如何解决?
解决方案
您只检查.hoogtebreedte
类的第一个值,因此不检查第二个值。
下面是工作示例:
function test () {
if($('.hoogtebreedte').eq(0).val() !== '' && $('.hoogtebreedte').eq(0).val() > 0 && $('.hoogtebreedte').eq(1).val() !== '' && $('.hoogtebreedte').eq(1).val() > 0){
console.log('everything is ok')
} else {
console.log('something is wrong')
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="number" class="formateninput form-control hoogtebreedte" name="breedte" max="99" min="0">
<input type="number" class="formateninput form-control hoogtebreedte" name="hoogte" max="99" min="0">
<button onclick='test()'>test</button>
此外,对于多个类,您可以使用以下代码:
function validate () {
const validate = Array.from($('.hoogtebreedte')).every((_,index) => $('.hoogtebreedte').eq(index).val() !== '' && $('.hoogtebreedte').eq(index).val() > 0)
return validate ? console.log('everything is ok') : console.log('something is wrong')
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="number" class="formateninput form-control hoogtebreedte" name="breedte" max="99" min="0">
<input type="number" class="formateninput form-control hoogtebreedte" name="hoogte" max="99" min="0">
<input type="number" class="formateninput form-control hoogtebreedte" name="hoogte" max="99" min="0">
<button onclick='validate()'>validate</button>
推荐阅读
- grails - 如何将数据永久保存在grails中?
- polymer - 如何将EventListener添加到在dom-repeat模板中加载了iron-ajax的Polymer 2.0 Iron-forms
- c# - 如何以管理员身份运行 CodeDom 编译的应用程序?
- python - 获取“ ValueError:无法将字符串转换为浮点数:'。' " 当输入应该被接受为浮点数时
- ios - Chrome 可以在 iOS 上运行角渐进式网络应用程序吗?
- .htaccess - htaccess 如何从 URL 中删除 /home
- spring - 代码实现:Hamcrest Matcher 接口和 BaseMatcher 抽象类
- blob - Javascript Fetch:如何用奇怪的背景颜色修复下载的 blob?
- php - 将带有子查询的 sql 更新转换为 dql
- mongodb - addition operation to a field generated by $addfied