Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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 必填字段的条件赋值_Javascript_Validation - Fatal编程技术网

Javascript 必填字段的条件赋值

Javascript 必填字段的条件赋值,javascript,validation,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 =

我有一个用户输入地址的页面。我想让城市、州和邮政编码成为必填字段,但这里有一个问题。用户需要输入城市和州,或者需要输入邮政编码。我该如何使用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;
        }

    }
}
函数形式(f){
对于(var n=0;n-1){
var zipcode=f.elements[n].值;
if(zipcode.length==“”){
if((f.elements[n].name).indexOf(“cityname”)>-1){
var city=f.elements[n].值;
如果(city.length==“”){
警报(“输入城市名称”);
打破
}
}
if((f.elements[n].name).indexOf(“statename”)>-1){
var state=f.elements[n]。值;
如果(state.length==“”){
警报(“输入州名称”);
打破
}
}
}否则{
//返回true;然后做某事
返回false;
}
}else if(zipcode.length==“”){
警报(“输入zipcode”);
打破
返回false;
}
}
}

像这样的东西应该会有帮助

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

     }else{
         /* must have city and state*/
     }
}
使用变量标志。 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

你能试试这个吗

  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;
      }  
    }

-1:OP请求JavaScript,而不是伪代码。如果这是一个家庭作业问题,并且在作业中没有表现出任何努力,我会理解,但这里的情况并非如此。