2012-03-03 2 views
1

У меня есть следующий кодJQuery представить обработчик с JQuery проверки и JQuery формы АЯКС только вызывается каждый второй раз

jQuery(function() { 
     jQuery("#newForm").validate({ 
      rules: { }, 
      submitHandler: function(form) { 
       alert("Submitting") 
       jQuery("#submitButton").attr('disabled', true) 
       jQuery("#sendWrapper").append('<span><img src="{{ STATIC_URL }}img/loading.gif"></span>') 
       jQuery(form).ajaxSubmit({ 
        success: afterFormSubmit, 
        target: "#ajaxwrapper" 
       }); 
      } 
     }); 
}); 

Я нахожу, что обработчик только вызывался каждый первый, третий, пятый, седьмой когда нажата кнопка отправки (ответ в значительной степени похож на HTML-код формы с вставками ошибок и т. д.).

Однако изменение функции на обработчик onclick работает каждый раз.

ответ

2

Это должно хорошо работает:

jQuery(function() { 
     jQuery("#newForm").validate({ 
      rules: {}, 
      submitHandler: function(form) { 
       alert("Submitting") 
       jQuery("#submitButton").attr('disabled', true) 
       jQuery("#sendWrapper").append('<span><img src="{{ STATIC_URL }}img/loading.gif"></span>') 
       $.ajax({ 
        cache: false, 
        type: 'POST', 
        data: ("#newForm").serialize(), 
        url : '/ your-url-address-to-post-form /' 
        success: function (html) { 
         alert('done'); 
        }, 
        error: function(data, textStatus, jqXHR) { 
         alert('error') 
        } 
       }); 
      } 
     }); 
});​ 
+2

Есть ли причина, почему мой код не работает? (Меня больше интересует теория jquery за тем, что происходит, чем заставить ее работать: S)) – Taras

+1

Я с @Taras. Ваш ответ, если будет объяснено, может помочь людям с аналогичной (но не совсем такой же) проблемой. – Dan

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