Расширяемый плагин Jquery http://bassistance.de/jquery-plugins/jquery-plugin-validation/ - PullRequest
0 голосов
/ 13 сентября 2011

Я пытаюсь расширить плагин формы jQuery внутри моего плагина. Я написал код ниже, но я получаю бесконечный цикл в submitHandler.

Что не так в моем коде? Как я могу это исправить?

(function($) {
  $.fn.extend({ 
    //plugin name - myvalidateform
    myvalidate: function(options) { 
      //Settings list and the default values
      var defaults = {     
        relues:null,
        url:null,
        password:0,
        type:'get',
        ajax:null
      };     
      var o2 = $.extend(defaults, options);         
      return this.each(function() {        
        var o =o2;
        var obj = $(this);                   
        var formplugin= $(obj).validate({
          submitHandler: function(form) {
          alert("a");
         $(form).submit();
      }
      });          

      });
    }
  });
})(jQuery);

1 Ответ

0 голосов
/ 13 сентября 2011

Валидатор переопределяет отправку, поэтому вы просто вызываете отправку, только что присоединенный валидатор.

Попробуйте изменить это (в валидаторе):

validator.settings.submitHandler.call( validator, validator.currentForm );
if (validator.submitButton) {
// and clean up afterwards; thanks to no-block-scope, hidden can be referenced
    hidden.remove();
}
return false;

до:

if (validator.submitButton) {
// and clean up afterwards; thanks to no-block-scope, hidden can be referenced
    hidden.remove();
}
return validator.settings.submitHandler.call( validator, validator.currentForm ) ? true : false;

Теперь, если вы хотите отправить заявку, вы можете использовать «return true» в вашем submitHandler для отправки формы. Возможно, я допустил ошибку, и есть лучший способ сделать это, но, по крайней мере, у меня есть ответ, который может сработать.

Также, если хотите, проверьте на моем веб-сайте руководства по разработке плагинов jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...