如果第三个字段不为空,则需要其他两个字段

时间:2014-05-30 08:56:28

标签: javascript html5

我有三个文本域:

  • 州代码
  • 国家代码
  • 电话号码

默认设置StateCode和Country代码的值 如果输入了电话号码文本字段,我希望强制其他两个字段 如果电话号码为空,则不需要。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

我创造了这个小提琴:

<强> HTML

<label id="lblStateCode">State Code</label>
<input type="text" id="stateCode" value="585" />
<label id="lblCountryCode">Country Code</label>
<input type="text" id="countryCode" value="552" />
<label id="lblPhone">Phone</label>
<input type="text" id="phone" />

<强> JS

$("#phone, #stateCode, #countryCode").on("blur",function(){
if($("#phone").val() != ""){

    if($("#stateCode").val() == ""){
        $("#lblStateCode").addClass("errorClass");
    }
    else{
        $("#lblStateCode").removeClass("errorClass");
    }

    if($("#countryCode").val() == ""){
        $("#lblCountryCode").addClass("errorClass");
    }
    else{
        $("#lblCountryCode").removeClass("errorClass");
    }

}
    else{
       $("#lblStateCode").removeClass("errorClass");
        $("#lblCountryCode").removeClass("errorClass");
    }   
});
$(function(){
if($("#phone").val() != ""){

    if($("#stateCode").val() == ""){
        $("#lblStateCode").addClass("errorClass");
    }
    else{
        $("#lblStateCode").removeClass("errorClass");
    }

    if($("#countryCode").val() == ""){
        $("#lblCountryCode").addClass("errorClass");
    }
    else{
        $("#lblCountryCode").removeClass("errorClass");
    }

}
    else{
       $("#lblStateCode").removeClass("errorClass");
       $("#lblCountryCode").removeClass("errorClass");
    } 
});

<强> CSS

.errorClass{
    color:red;
}

fiddle

答案 1 :(得分:0)

你需要应用jquery验证:

$("#form").validate({
                rules: {
                    State: { required: function () {
                            if ($('#Telephone').val() != '') return true;
                            else return false;
                        },
                    Country: { required: function () {
                            if ($('#Telephone').val() != '') return true;
                            else return false;
                        }
                  }
               messages: {
                    State: { required: "error messge" },
                    Country: { required: "error messge" }
                }
         });