2009-07-02 2 views
0

Есть ли способ удалить submitHandler или invalidHandler после их установки? Если я отправлю свою форму и аннулирую свое модное окно подтверждения, мои другие кнопки наследуют этих обработчиков и не делают то, что они предполагают делать.jquery validation удалить submitHandler

Я пробовал отменить форму отправки в разных местах. А также пытается переопределить проверки для спины и сохранить кнопки, но это как submitHandler всегда называют первым

<script type="text/javascript"> 


    $(document).ready(function() { 


     $(window).keydown(function(event){ 

      document.getElementById('save').src = "/bttn-save.jpg"; 

     }); 


     $.validator.setDefaults({ 
      submitHandler: function() { 
        tb_show("", "#TB_inline?height=400&width=600&inlineId=confirmblock", null); 
      } 
     }); 

     var errorimage = "<img src=\"error.png\" width=\"19\" height=\"19\" alt=\"error\" title=\"error\" style=\"vertical-align:top;margin-top:5px;\" />"; 

     $('#submit').click(function(e) { 

      $('#promoForm').validate({ 
       submitHandler: function() { 
        tb_show("", "#TB_inline?height=400&width=600&inlineId=confirmblock", null); 
      }, 
       invalidHandler: function(e, validator) { 
       var errors = validator.numberOfInvalids(); 
     if (errors) { 
       tb_show("", "#TB_inline?height=150&width=250&inlineId=errorblock", null); 
     } 

     }, 
       errorElement: "span", 
       rules: { 
        additionalinfo: "required" 
       }, 
       messages: { 
        additionalinfo: errorimage 
       } 

      }); 

      document.getElementById('td_info').innerHTML = document.getElementById('additionalinfo').value; 

     }); 

     $('#back').click(function() { 
      $("#promoForm").attr("action", "/step6/?action=back&email=%%=RequestParameter("email")=%%"); 
     }); 


     $('#save').click(function() { 
      $("#promoForm").attr("action", "/step7/?action=save&email=%%=RequestParameter("email")=%%"); 
     }); 

     $('#confirm').click(function() { 
      document.getElementById('promoForm').action = "http://pages.email.microsoftemail.com/thatsit/?email=%%=RequestParameter("email")=%%" 
      document.getElementById('promoForm').submit(); 

     }); 

     $('#attach').click(function() { 
      tb_show("", "#TB_inline?height=300&width=336&inlineId=uploadblock", null); 
     }); 

    }); 
</script> 

ответ

0

Когда они существуют модальный, я удалить все события из формы. Когда я нажимаю на кнопку отправки, я снова добавляю всю свою проверку. Это потребовало модификации ThickBox и Validation JS для моего конкретного случая.

 Смежные вопросы

  • Нет связанных вопросов^_^