2015-06-21 3 views
0

JSJQuery представить подтверждение не работает

function checkgender(){ 
     $("#gender-result").hide(); 
      if (undefined == $("input[name='gender']:checked", "#contact-form").val()) { 
       $("#gender-result").html('gender requirements.').show(); 
       $("#gender-result").css('color', 'red'); 
       return false;   
      }else{ 
       $("#gender-result").hide(); 
      } 
      return true; 
    } 

function checkpassword(){ 
     var password_value = $("#reg-password").val(); 

     if(password_value === ""){ 
      //password emtpy 
      $("#password-result").html('Please make a password'); 
      $("#password-result").css('color', 'red'); 
      $('#reg-password').css('border-color', 'red'); 
     }else if (password_value.length < 6){ 
      //password is too shot 6 digi 
      $("#password-result").html('Your password is too short.'); 
      $("#password-result").css('color', 'red'); 
      $('#reg-password').css('border-color', 'red'); 
     }else{ 
      //password passed 
      $("#password-result").html(''); 
      $('#reg-password').css('border-color', '#dfe0e6'); 
      return true; 
     } 
     return false; 
    } 

, но почему это не будет работать, если я использую это представить Validation

$(document).click(function() { 
      $('#contact-form').submit(function(){ 
       event.preventDefault(); 
       //validation 
       if(!checkgender() && !checkpassword()){ 
       return false; 
       }else{ 
       return true; 
       } 
       }); 
      }); 

если я представить один из функции она работает нормально, но если я ставлю 2 вместе и нажмите submit, это позволило мне пройти проверку, даже одна из них пуста, почему? что я сделал не так?

ответ

1

Вы должны вернуться ложным, если либо одна из условий falied так

$(document).click(function() { 
    $('#contact-form').submit(function() { 
     //validation 
     if (!checkgender() || !checkpassword()) { 
      return false; 
     } else { 
      return true; 
     } 
    }); 
}); 

или

короче

$(document).click(function() { 
    $('#contact-form').submit(function() { 
     //validation 
     return checkgender() && checkpassword(); 
    }); 
}); 
+0

спасибо его работу ~~ – user3233074