2009-04-05 9 views
0

フォームが有効で適切に提出される前にウィンドウが閉じないようにするにはどうすればよいですか? これはポップアップを閉じ、nobodyはフォームが有効かどうかを知るためです。たとえエラーがあってもフォームはすぐに閉じられるからです。フォームの検証とポップアップウィンドウの結合?

$(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; 
});