必要字段的条件验证

时间:2013-10-31 18:21:19

标签: javascript validation

我有一个用户输入地址的页面。我想制作城市,州和邮政编码所需的字段,但这里是捕获。用户需要输入城市和州或者他们需要输入邮政编码。我该怎么做这个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;
        }

    }
}

3 个答案:

答案 0 :(得分:0)

这样的事情应该有所帮助

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

     }else{
         /* must have city and state*/
     }
}

答案 1 :(得分:0)

使用变量标志。 flag = 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

答案 2 :(得分: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;
      }  
    }