验证。检查并调用一个函数

时间:2018-04-17 13:22:14

标签: javascript

我想只在表单有效时才调用函数。验证工作正常,但我无法正确调用addUser()函数。测试工作,但它循环,下次调用时,测试完成两次,接下来的5次。可以有几部电话。

        // code

      if (lastName.value.match(letters)) {    
        for(var i = 0; i < phones.length; i++){
          if (!phones[i].value.match(digts)) {
          //checking
            if(phones[phones.length - 1].value != '') {
              addUser();
            };
            error.innerHTML = 'Only digits';
            frm.insertBefore(error, phones[i]);
            break;
          }
        }
          } else {
        if(user.value == ''){
            //code
        }
           errorMessage = "false";
        }
          if (errorMessage !== "") {
              event.preventDefault();
          }
        }

----------

function addUser(){
    $('#registration').submit(function(event) {
      alert(12);
       //code
      event.preventDefault();
      var data = 'phones=' + JSON.stringify(arrUserInfo);
      $.ajax({
        //code
      });
    });
  }

1 个答案:

答案 0 :(得分:0)

您可以在另一个函数中添加验证,并根据验证结果返回true或false,并在表单提交时调用该函数。

function validations()
{
   ....

   for(var i = 0; i < phones.length; i++){
     if (!phones[i].value.match(digts)) {
    // set error message
    return false;
    }
   }    

  if(user.value == ''){
      // set error message
     return false;
   }
   return true;
}

$('#registration').submit(function(event) { 
     if(validations())
     {
            $.ajax({
            // code
            });
     }
     else
      {
          return false;
       }
    });