2010-05-12 2 views
1

Я использую jQuery в сочетании с Symfony 1.3.2.Использование jQuery для POST формы Symfony

Я зарегистрировал событие отправки кнопки формы формы с помощью jQuery, так что JQuery POST на правильное действие на сервере.

Мой код выглядит следующим образом:

$(document).ready(function(){ 
    $('#form_btn').click(function(){ 
    $.ajax({'type': 'POST', 'url': '/form_handler.php' }); 
    }); 
}); 

Однако (и это неудивительно - так как я не посылал никаких данных), на стороне сервера, нет POST переменные и поля формы не доступны.

Например:

$request->getParameter($this->form->getName()); 

возвращает нулевое значение.

Кто-нибудь знает, как я могу отправить форму Symfony с помощью jQuery?

[Редактировать]

Для тех, кто не знаком с Symfony, что я прошу здесь, как отправить значения формы с помощью JQuery.

+0

Вы должны иметь, что на 'form.submit' действия, а не' button.click' кнопки так, если они попали в один из входов, который он будет работать. – SeanJA

+0

@SeanjA: спасибо за информацию – morpheous

ответ

1

Вы должны добавить все поля ввода из формы для вызова .ajax(), что-то вроде

$.ajax({'type': 'POST', 'url': '...', 'data': form_data }); 

Где вар form_data является значением ваших входных элементов - смотрите здесь о том, как получить их : Obtain form input fields using jQuery?

примером может быть

var form_data = $('#myForm').serialize(); 
+0

+1 .thanks для быстрого ответа. Я читаю ссылку, которую вы отправили сейчас. – morpheous

+2

var form_data = $ ('# myForm'). Serialize(); – SeanJA

+1

Да, вы должны использовать serialize() ... и альтернатива в Symfony 1.3/1.4 заключается в использовании sfJQueryReloadedPlugin, у которого есть метод submit_to_remote, который обрабатывает представление формы Ajax. Я лично предпочитаю писать его сам, как вы делаете сейчас. Плагин поставляется с некоторыми накладными расходами. – Tom

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