&引用;如果;条件Jquery-验证空字段

&引用;如果;条件Jquery-验证空字段,jquery,validation,if-statement,conditional-statements,Jquery,Validation,If Statement,Conditional Statements,我正在尝试验证我拥有的两个字段。当它们为空时,我想显示一条消息 问题是“如果”条件不能正确执行,我不知道为什么 这是HTML代码: <div id="switchingform"> <label for="currentsupplier">Who is your current supplier?</label> <input type="text" name="currentsupplier" id="c

我正在尝试验证我拥有的两个字段。当它们为空时,我想显示一条消息

问题是“如果”条件不能正确执行,我不知道为什么

这是HTML代码:

<div id="switchingform">
            <label for="currentsupplier">Who is your current supplier?</label>
            <input type="text" name="currentsupplier" id="currentsupplier"/><br />
            <span class="validateText" id="validateSupplier"><p>Please enter your      current supplier</p></span>

            <label for="postcode">What is your post code?</label>
            <input type="text" name="postcode" id="postcode"/><br />
            <span class="validateText" id="validatePostCode"><p>Please enter your post code</p></span>
</div>

您目前的供应商是谁?

请输入您当前的供应商

你的邮政编码是什么?
请输入您的邮政编码

这是JQUERY代码:

$("#telecomBusNext").click(function(){ 
    if($("#currentsupplier").val().length < 1 || $("#postcode").val().length < 1) { 
        $("#validateSupplier").fadeIn(400);
        $("#validatePostCode").fadeIn(400);
        return false;
    } else if($("#currentsupplier").val().length > 1 || $("#postcode").val().length < 1) {
        $("#validatePostCode").fadeIn(400);
        $("#validateSupplier").fadeOut(400);
        return false;  
    } else if($("#currentsupplier").val().length < 1 || $("#postcode").val().length > 1) {
        $("#validatePostCode").fadeOut(400);
        $("#validateSupplier").fadeIn(400);
        return false;  
    } else {
      $("#validateSupplier").fadeOut(400);
      $("#validatePostCode").fadeOut(400);
    }   
});  
$(“#TelecobusNext”)。单击(函数(){
如果($(“#当前供应商”).val().length<1 | |$(“#邮政编码”).val().length<1){
$(“验证供应商”).fadeIn(400);
$(“#validatePostCode”).fadeIn(400);
返回false;
}如果($(“#当前供应商”).val().length>1 | |$(“#邮政编码”).val().length<1){
$(“#validatePostCode”).fadeIn(400);
美元(“#验证供应商”)。淡出(400);
返回false;
}如果($(“#当前供应商”).val().length<1 | |$(“#邮政编码”).val().length>1){
$(“#validatePostCode”).fadeOut(400);
$(“验证供应商”).fadeIn(400);
返回false;
}否则{
美元(“#验证供应商”)。淡出(400);
$(“#validatePostCode”).fadeOut(400);
}   
});  

提前感谢。

|
更改为
&&
,它应该可以工作。您在两个不同的条件中定义了两个相同的条件。您的逻辑是错误的

$("#telecomBusNext").click(function(){ 
    //THIS------------------------------------>   <--ALSO HERE ----------------->
    if($("#currentsupplier").val().length < 1 || $("#postcode").val().length < 1) { 
        $("#validateSupplier").fadeIn(400);
        $("#validatePostCode").fadeIn(400);
        return false;                                //<--AND HERE is the same----->
    } else if($("#currentsupplier").val().length > 1 || $("#postcode").val().length < 1) {
        $("#validatePostCode").fadeIn(400);
        $("#validateSupplier").fadeOut(400);
        return false;
     //AND THIS are the same when using || ----------> 
    } else if($("#currentsupplier").val().length < 1 || $("#postcode").val().length > 1) {
        $("#validatePostCode").fadeOut(400);
        $("#validateSupplier").fadeIn(400);
        return false;  
    } else {
      $("#validateSupplier").fadeOut(400);
      $("#validatePostCode").fadeOut(400);
    }   
}); 
$(“#TelecobusNext”)。单击(函数(){
//这是----------------->
如果($(“#当前供应商”).val().length<1 | |$(“#邮政编码”).val().length<1){
$(“验证供应商”).fadeIn(400);
$(“#validatePostCode”).fadeIn(400);
返回false//
}如果($(“#当前供应商”).val().length>1 | |$(“#邮政编码”).val().length<1){
$(“#validatePostCode”).fadeIn(400);
美元(“#验证供应商”)。淡出(400);
返回false;
//使用| |------------------->
}如果($(“#当前供应商”).val().length<1 | |$(“#邮政编码”).val().length>1){
$(“#validatePostCode”).fadeOut(400);
$(“验证供应商”).fadeIn(400);
返回false;
}否则{
美元(“#验证供应商”)。淡出(400);
$(“#validatePostCode”).fadeOut(400);
}   
}); 
因为这两个条件都包括
$(“#currentsupplier”).val().length<1
,在这里,这两个条件都包括
$(“#postcode”).val().length<1
,如果其中一个条件为true,Jquery不知道应该运行上面标记的两个操作中的哪一个

编辑:

这是我创建的


让我知道你是否需要它。

你的代码的问题是你正在使用
|
(或)当你应该使用
&&
(和)`

但是为什么要通过检查所有的组合来让它变得如此复杂呢?分别检查这两个字段,会更容易:

$("#telecomBusNext").click(function(){ 
    var supplierValid = $("#currentsupplier").val().length > 0;
    var postcodeValid = $("#postcode").val().length > 0;
    $("#validateSupplier").fadeToggle(!supplierValid);
    $("#validatePostCode").fadeToggle(!postcodeValid);
    return supplierValid && postcodeValid;
});

你能定义“不工作”吗?用
&&
更改
|
,它应该可以工作。您在两个不同的条件中定义了两个相同的条件。您的逻辑是错误的。您显然不理解
|
&
之间的区别。对于程序员来说,这是一个非常基本的误解。检查长度是否小于1,长度是否大于1。长度正好等于1呢?巴尔马,你说得对!我犯了一个愚蠢的错误。谢谢谢谢Barmar但以你的方式。。。“return false”会发生什么?你知道为什么在Wordpress中,符号和符号不起作用吗??我正在努力寻找解决方案,但我没有找到任何解决方案……对不起,我对Wordpress一无所知。谢谢Stefanos,我犯了那个错误,你给我解释得很好。但是现在,当我在wordpress中用&&更改| |时,它就不起作用了。为什么?你能告诉我们你点击的
#telecomBusNext
元素是什么吗?也许我会做一把小提琴来告诉你怎么做。是的,当然。这是一个简单的提交按钮。当你点击它时,你会提交并进入下一页。下面是代码:继续,问题是ampersand simbol在Wordpress中不能正常工作,我不知道为什么。我写了$$(两个符号),但它变成了&&您希望两个跨距都被隐藏,并且如果输入为空则显示?当输入得到一个值时,您希望跨距再次隐藏?我理解正确吗?Stefanos很简单。它只验证两个输入。如果两者都为空,则显示两条消息;如果其中一条为空,则显示一条消息;如果它们不为空,则转到下一页。