Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查一个或两个输入字段是否为空,是否将0作为值或负数_Javascript_Jquery_Html - Fatal编程技术网

Javascript 检查一个或两个输入字段是否为空,是否将0作为值或负数

Javascript 检查一个或两个输入字段是否为空,是否将0作为值或负数,javascript,jquery,html,Javascript,Jquery,Html,我有两个如下所示的输入字段: <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 hoogt

我有两个如下所示的输入字段:

<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]?>">

除了在第一个输入中添加一个数字(例如90,在第二个输入中添加0)外,所有操作都可以正常进行。为什么会这样,我如何修复它?

在进行验证之前,必须将输入的值解析为整数,因为输入元素的值始终是字符串

工作示例:
const check=()=>{
设a=parseInt(document.getElementById(“a”).value)
设b=parseInt(document.getElementById(“b”).value)
如果(a>=1&&b>=2){
警惕(“一切都很好!”)
}否则{
警报(“a”或“b”小于1或为空。”)
}
}


检查
由于输入元素的值始终是字符串,因此在进行验证之前,必须将输入值解析为整数

工作示例:
const check=()=>{
设a=parseInt(document.getElementById(“a”).value)
设b=parseInt(document.getElementById(“b”).value)
如果(a>=1&&b>=2){
警惕(“一切都很好!”)
}否则{
警报(“a”或“b”小于1或为空。”)
}
}

选中

$(文档).ready(函数(){
$('#btnsupmit')。单击(函数(){
var input1=parseInt($('#breedte').val();
var input2=parseInt($('#hoogte').val();
如果(输入1>0&&input2>0){
警惕(“前进”);
}否则{
警惕(‘停止!!!’);
}
});
});

$(文档).ready(函数(){
$('#btnsupmit')。单击(函数(){
var input1=parseInt($('#breedte').val();
var input2=parseInt($('#hoogte').val();
如果(输入1>0&&input2>0){
警惕(“前进”);
}否则{
警惕(‘停止!!!’);
}
});
});

您只检查了
.hoogtebreedte
类的第一个值,因此第二个值没有检查

以下是工作示例:

功能测试(){
如果($('.hoogtebreedte').eq(0.val()!=''&$('.hoogtebreedte').eq(0.val()>0&$('.hoogtebreedte').eq(1.val()!=''&$('.hoogtebreedte').eq(1.val()>0){
console.log('一切正常')
}否则{
console.log('有问题')
}
}


test
您只检查了
.hoogtebreedte
类的第一个值,所以第二个值没有检查

以下是工作示例:

功能测试(){
如果($('.hoogtebreedte').eq(0.val()!=''&$('.hoogtebreedte').eq(0.val()>0&$('.hoogtebreedte').eq(1.val()!=''&$('.hoogtebreedte').eq(1.val()>0){
console.log('一切正常')
}否则{
console.log('有问题')
}
}


test
之所以发生这种情况,是因为您在jQuery中将
类的值作为数组处理

所以在逻辑上,您的第二个输入没有得到验证

每个
都会解决您的问题

$('.validate').on('click',function(){
    var status = false;
    $('.hoogtebreedte').each(function(){
        var t = $(this);
        if(t.val() === '' || t.val() == 0 || t.val() < 0){
            status = true
        }
    })
    if(status) {
        console.log('stop')
    } else {
        console.log('go')
    }

})
$('.validate')。在('click',function()上{
var状态=假;
$('.hoogtebreedte')。每个(函数(){
var t=$(本);
如果(t.val()==''| t.val()==0 | t.val()<0){
状态=真
}
})
如果(状态){
console.log('stop')
}否则{
console.log('go')
}
})

之所以发生这种情况,是因为您在jQuery中将
类的值作为数组处理

所以在逻辑上,您的第二个输入没有得到验证

每个
都会解决您的问题

$('.validate').on('click',function(){
    var status = false;
    $('.hoogtebreedte').each(function(){
        var t = $(this);
        if(t.val() === '' || t.val() == 0 || t.val() < 0){
            status = true
        }
    })
    if(status) {
        console.log('stop')
    } else {
        console.log('go')
    }

})
$('.validate')。在('click',function()上{
var状态=假;
$('.hoogtebreedte')。每个(函数(){
var t=$(本);
如果(t.val()==''| t.val()==0 | t.val()<0){
状态=真
}
})
如果(状态){
console.log('stop')
}否则{
console.log('go')
}
})

在('input')上添加
事件,以便在每次引入数字时检查条件,并使函数“通用”以处理任何输入。如果插入值为0或1,则将输入设为红色

函数验证输入(myInput){
$('#'+myInput).on('input',函数(evt){
var值=evt.target.value
console.log(值)
如果(值=='0'| |值=='1'){
evt.target.className='无效'
}否则{
evt.target.className='valid'
}
})
}
validateInput(“第一个”)
验证输入('second')
input.valid{
边框:1px纯绿色;
}
输入无效{
边框:1px纯红;
}

在('input')上添加
事件,以便在每次引入数字时检查条件,并使函数“通用”以处理任何输入。如果插入值为0或1,则将输入设为红色

函数验证输入(myInput){
$('#'+myInput).on('input',函数(evt){
var值=evt.target.value
console.log(值)
如果(值=='0'| |值=='1'){
evt.target.className='无效'
}否则{
evt.target.className='valid'
}
})
}
validateInput(“第一个”)
验证输入('second')
input.valid{
边框:1px纯绿色;
}
输入无效{
边框:1px纯红;
}


所以从你的问题来看,如果你在第一个输入框中输入一个值为5,那么第二个输入框的值应该是5到n,不小于5@DILEEPTHOMAS不,两个输入字段都不能包含0、小于0或为空。您只能使用
if()
检查第一个输入字段。还有,
==0
将不起作用,因为值为strings@charlietfl但是它们都有相同的类是的,但是
$('.hoogtebreedte').val()
只能返回一个值…..它将来自第一个匹配元素所以从你的问题来看,如果你在第一个输入框中输入一个值作为5,那么第二个输入框的值应该是5到n,N
$('.validate').on('click',function(){
    var status = false;
    $('.hoogtebreedte').each(function(){
        var t = $(this);
        if(t.val() === '' || t.val() == 0 || t.val() < 0){
            status = true
        }
    })
    if(status) {
        console.log('stop')
    } else {
        console.log('go')
    }

})