0

我有一个页面,用户可以在其中输入他们的地址。我想将城市、州和邮政编码设为必填字段,但这就是问题所在。用户要么需要输入城市和州,要么需要输入邮政编码。我该怎么做这个javascript?

现在我有

function Form(f) {

    for (var n = 0; n < f.elements.length; n++) {

        if ((f.elements[n].name).indexOf("zip_code") > -1) {

            var zipcode = f.elements[n].value;

            if (zipcode.length == "") {

                if ((f.elements[n].name).indexOf("cityname") > -1) {

                    var city = f.elements[n].value;


                    if (city.length == "") {
                        alert("Enter City name");
                        break;
                    }

                }

                if ((f.elements[n].name).indexOf("statename") > -1) {

                    var state = f.elements[n].value;


                    if (state.length == "") {
                        alert("Enter State name");
                        break;
                    }

                }

            } else {
                //return true; then do something
                return false;
            }

        } else if (zipcode.length == "") {
            alert("Enter zipcode");
            break;

            return false;
        }

    }
}
4

3 回答 3

0

这样的事情应该有帮助

if( zipcode.length){
    /* validate zipcode*/
}else{
    if( city.length && state.length){

     }else{
         /* must have city and state*/
     }
}
于 2013-10-31T18:26:31.370 回答
0

使用变量标志。标志 = 0;

if city and state 
 make flag as 1
if zip 
 make flag as 1
if flag==0 then validation failed
else allow to submit form
于 2013-10-31T18:26:46.227 回答
0

你能试试这个吗?

  function Form(f) {

     var cityname = document.getElementsByName('cityname')[0].value;

     var statename = document.getElementsByName('statename')[0].value;

     var zip_code = document.getElementsByName('zip_code')[0].value;

    if( (cityname.length==0 && statename.length==0 ) ){

         if(zip_code.length==0){
            alert("Enter zipcode");         
            return false;
          }  
      return true;
     }else if( (cityname.length==0 || statename.length==0 ) ){

        if (cityname.length == 0) {
              alert("Enter City name");              
              return false;             
           }else if (statename.length == 0) {
              alert("Enter State name");                  
              return false;             
          }

          return true;
      }  
    }
于 2013-10-31T19:19:10.487 回答