使用JQuery进行表单验证if/else

使用JQuery进行表单验证if/else,jquery,validation,Jquery,Validation,我正在进行表单验证,所有字段都是必需的,还要检查用户是否接受条款,还要检查电子邮件是否正确。它几乎可以工作,如果我没有输入姓名/电子邮件等,此代码会给我一个响应,但如果我输入此信息,它不会隐藏.alert。然后不响应术语和有效电子邮件检查的复选框。如果没有响应,也应始终隐藏.alert 这个代码在哪里失败?有什么想法吗 $("form").submit(function (e) { e.preventDefault(); // This will prevent the form submis

我正在进行表单验证,所有字段都是必需的,还要检查用户是否接受条款,还要检查电子邮件是否正确。它几乎可以工作,如果我没有输入姓名/电子邮件等,此代码会给我一个响应,但如果我输入此信息,它不会隐藏.alert。然后不响应术语和有效电子邮件检查的复选框。如果没有响应,也应始终隐藏.alert

这个代码在哪里失败?有什么想法吗

$("form").submit(function (e) {
 e.preventDefault(); // This will prevent the form submission

    var response = ""; 
     $('#submit-holder').find('input').each(function(){
         if ($(this).val() == '') {
         response += ", " + $('label[for="' + this.id + '"]').html();
         empty_fields = true;     
         }    

         else if ($(this).val() == !'') {
         empty_fields = false;
             $('.alert').hide()  
         }

         else if(empty_fields = true ) {
                    $('.alert').addClass('alert-danger')
                    $('.alert').fadeIn()               
                    $('.error_message').text(response.replace(", ", "You need to fill out: "))
                    message = response.replace(", ", "You need to fill out: ")
                    response_message(message)
         }   

        else if ($('[name="txtEmail"]').length !== 0) {

            var email = $('[name="txtEmail"]').val();

            if(IsEmail(email)==false){
                    message = "The e-mail address you've entered is invalid";
                    response_message(message)
                       //return false;
                   }
            }

           else if($('#user_terms').not(":checked")){ 
           message = "You need to accept the terms and conditions to continue";
           response_message(message)
              //return false;

             } 

         }); 

 if($('#user_terms').is(":checked") && !response) {

  // Send the form

 } 


// Functions:
 function IsEmail(email) {
    var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if(!regex.test(email)) {
       return false;
    }else{
       return true;
    }
  }

function response_message(message) {

    $('.alert').addClass('alert-danger')
    $('.alert').fadeIn()               
    $('.error_message').text(message)
}    

为什么不使用验证插件呢


我使用

Hi此代码可以正常工作,但我不确定您的逻辑是否正确

$("form").submit(function (e) {
 e.preventDefault(); // This will prevent the form submission

    var response = ""; 
     $('#submit-holder').find('input').each(function(){
         if ($(this).val() == '') {
         response += ", " + $('label[for="' + this.id + '"]').html();
         empty_fields = true;     
         }    

         else if ($(this).val() != '') {
         empty_fields = false;
             $('.alert').hide();  
         }

         else if(empty_fields = true ) {
                    $('.alert').addClass('alert-danger');
                    $('.alert').fadeIn();         
                    $('.error_message').text(response.replace(", ", "You need to fill out: "));
                    message = response.replace(", ", "You need to fill out: ");
                    response_message(message);
         }   

        else if ($('[name="txtEmail"]').length !== 0) {

            var email = $('[name="txtEmail"]').val();

            if(IsEmail(email)==false){
                    message = "The e-mail address you've entered is invalid";
                    response_message(message);
                       //return false;
                   }
            }

           else if($('#user_terms').not(":checked")){ 
           message = "You need to accept the terms and conditions to continue";
           response_message(message);
              //return false;

             } 

         }); 

 if($('#user_terms').is(":checked") && !response) {

  // Send the form

 } 


// Functions:
 function IsEmail(email) {
    var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if(!regex.test(email)) {
       return false;
    }else{
       return true;
    }
  }

function response_message(message) {

    $('.alert').addClass('alert-danger');
    $('.alert').fadeIn();          
    $('.error_message').text(message);
} 

否则,如果$this.val==!{-看起来像是个罪魁祸首…看起来您缺少了许多行尾分号;可能重复的评论多于答案。是的,我知道,但我是新来的..而且我没有足够的权限/声誉发表评论…抱歉:这可能很好,但我不希望有太多不知道的插件