2010-05-12 79 views
1

我正在使用jQuery和Symfony 1.3.2一起使用。使用jQuery發佈Symfony表格

我已經使用jQuery註冊了表單的提交按鈕單擊事件,以便jQuery將POST發送到服務器上的正確操作。

我的代碼如下所示:

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

但是(也許並不奇怪 - 因爲我沒有發送任何數據),在服務器端,有沒有POST變量和表單域不可用。

例如:

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

返回NULL。

有誰知道我可以使用jQuery POST一個Symfony表單嗎?

[編輯]

對於那些誰可能不熟悉Symfony的,什麼我問這裏是如何使用jQuery發佈表單值。

+0

你應該有對'form.submit'行動,而不是按鈕,所以如果的'button.click'他們在輸入其中一個輸入時仍會工作。 – SeanJA 2010-05-12 15:27:03

+0

@SeanjA:感謝您的信息 – morpheous 2010-05-12 15:39:52

回答

1

您必須從表單中的所有輸入字段添加到阿賈克斯()調用,像

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

其中var form_data是你輸入元素的值 - 在這裏看到關於如何讓他們: Obtain form input fields using jQuery?

一個例子是

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

+1。感謝您的快速響應。我正在讀你現在發送的鏈接 – morpheous 2010-05-12 15:25:11

+2

var form_data = $('#myForm')。serialize(); – SeanJA 2010-05-12 15:25:28

+1

是的,你應該使用serialize()...而Symfony 1.3/1.4中的替代方法是使用sfJQueryReloadedPlugin,它具有處理Ajax表單提交的submit_to_remote方法。我個人更喜歡自己寫,如你現在所做的那樣。該插件帶有一些開銷。 – Tom 2010-05-13 12:34:57