2009-04-05 3 views
0

Как я могу убедиться, что окно не закрывается до того, как форма будет действительна и правильно отправлена? Потому что теперь он закрывает всплывающее окно, и знать знает, была ли форма действительной. Потому что даже если есть ошибки, форма немедленно закрывается.Сочетание проверки формы и закрытия всплывающего окна?

$(document).ready(function(){ 

     $(".requestPassword").hide(); 
     $(".popupwindow").popupwindow(profiles); 

     $(".fp").click(function(){ 
      $(".loginForm").hide(); 
      $(".requestPassword").show(); 
     }); 
     $(".back").click(function(){ 
      $(".loginForm").show(); 
      $(".requestPassword").hide(); 
     }); 

     //form validation 
     $("#aanmeldForm").validate({ 


      //set the rules for the field names 
      rules: { 
      firstname: { 
      required: true, 
      minlength: 2 
      }, 
      email: { 
      required: true, 
      email: true 
      }, 
      message: { 
      required: true, 
      minlength: 2 
      }, 
      }, 
      //set messages to appear inline 
      messages: { 
      name: "Please enter your name", 
      email: "Please enter a valid email address" 

      }, 
      errorPlacement: function(error, element) { 
      error.appendTo(element.parent("td")); 
     } 

     }); 

     $("#aanmeldForm").submit(function(){ 
      //TODO: some data keeping jobs to be done 
      self.opener.location = 'http://ladosa.com'; 
      self.close(); 
     }); 


}); 

ответ

2

Проверьте, что форма действительна, а если нет, верните false; из них:

$("#aanmeldForm").submit(function(){ 
    //TODO: some data keeping jobs to be done 
    // make sure the form was valid *before* dismissing the popup 
    if($(this).valid()) { 
     self.opener.location = 'http://ladosa.com'; 
     self.close(); 
     return true; 
    } 
    // stop the form submitting 
    return false; 
});