2013-02-12 6 views
0

Я делаю функцию, которая делает каждую форму на моем сайте, но «сзади», поэтому сайт не перенаправляется.Ajax form with jQuery

Это код:

$('form').each(function(data){ 
    var el = $(this); 
    $(el).submit(function(){ 
     var action = el.attr('action'); 
     $.post(action, function(){ 
      console.log(action); 
     }); 
     return false;  
    }); 
}); 

«console.log» войти без проблем де URL, и тот же URL есть данные формы. Но функция $ .post не отправляет ее.

Любые идеи ?, это в symfony2.

+3

Вы действительно не нужно каждое заявление .. и может просто сделать '$ ('form'). submit (function() {}) ' –

+0

Можете ли вы также опубликовать одну из форм? ваш jquery работает для меня (даже с неосуществимым.). Заставляет меня думать, что есть проблема в другом месте на странице – Tucker

+0

Добавили ли вы POST к своей маршрутизации? Для YAML вы должны использовать что-то вроде 'требований: {_method: POST}' – qooplmao

ответ

0

dont't забудьте оставить свои данные формы

я Havr положить пример с $ .ajax

$(".yourform").submit(function(e){ 
    e.preventDefault(); 
    var data = $(this).serialize(); 
    var action = $(this).attr('action'); 

    $.ajax({ 
     url: action, 
     type: "POST", 
     data: data, 
     success: function(result) {       
     //logic here 
     }); 
    }); 

}); 
+0

Большое спасибо! Я забыл передать данные формы, теперь работает как шарм! – Nico

+0

Кроме того, если вы заменяете представленный элемент формы (например, обновленной формой в ответе), вы можете использовать '$ (document) .on (" submit ",". Yourourform ", function (e) {/* ... * /}) ', если вам нужен тот же обработчик в новой форме. – Peter

+0

отлично, если вам не нужна дополнительная информация, вы можете пометить свой вопрос как ответ. спасибо ! –