2011-12-03 118 views
0

我做了一個將數據從兩個表單發送到PHP頁面的小函數,我讀過它可以序列化兩個表單並將它們發送到一個POST請求中,但由於某種原因,它是隻是不工作:PHP頁面沒有收到POST數據...PHP頁面沒有收到POST數據

我在做什麼錯?

這是我的兩種形式的序列化代碼:

$.post("orderform.php", $("[name=setupform], [name=passengersform]").serialize(), function(data) { 
    /*-here is a function to change the layout-*/ }); 
+0

什麼是 「不工作」 是什麼意思?你有錯誤嗎?表單是否完全提交?數據是否錯誤? – JJJ

+0

對不起,我忘了重複標題:PHP頁面沒有收到數據。 – laarsk

+0

你使用的是firefox/firebug嗎?你有沒有檢查你的頁面在HTTP請求中發送了什麼? – GEMI

回答

1

試試這個:

$.post("orderform.php", 
     $('form[name="setupform"], form[name="passengersform]"').serialize(), 
     function(data) { 
}); 
+0

哇,那工作:D你能解釋爲什麼嗎? 也,你在setupform中添加了引號,我刪除了這些。 – laarsk

+0

簡單,剛剛添加名稱將被比較的節點的名稱 – 2011-12-03 19:51:13

+0

所以現在它只查找這些名稱的形式? 順便說一句,你完全搞砸了你的代碼現在的報價,哈哈;) – laarsk

1

你的問題很簡單,序列化不會按照這種方式,他建立了一個查詢字符串,以及您所期待上收到POST服務器,該服務器中的情況下會空白

http://jqapi.com/#p=serialize

編碼的一組表格的元素作爲爲提交

也許這是一個可能的問題,因爲調試請求?

+0

那麼爲什麼序列化僅使用一種形式工作? – laarsk

+0

選擇器是否正確? – 2011-12-03 19:43:56

+0

是的,[名稱= setupform]工作得很好,只有一種形式... – laarsk