2012-03-19 23 views
0

我有一個網頁,其中包含3種形式。每個人都有一個大的元素列表(輸入,選擇)。 我們使用查詢字符串來更新用戶提交的頁面,使用serialize函數並在URL中傳遞參數。在這種情況下,URL的長度已超過IE瀏覽器允許的最大字符串長度。我可以通過使用JavaScript的.serializeArray()函數添加兩種形式的元素。

現在我打算將其更改爲POST方法,並使用Jquery serializeArray函數發送元素,因爲服務器期望數據處於Array的形式。

我無法在.serializeArray()函數上找到足夠的數據。 我的頁面中每個表單的.serializeArray()函數的輸出是否可以合併然後提交? 有沒有其他方法可以做到這一點?

歡迎任何建議。

+1

是的,他們可以結合並提交。 serializeArray()上的足夠數據?你看過文檔嗎? http://api.jquery.com/serializeArray/ – 2012-03-19 15:34:52

回答

0

您可以在一個陣列結合序列化數據和發送

var data = new Array(); 

data[] = $("formone").serialize(); 
data[] = $("anotherform").serializa(); 

$.post("toapage.php", { formdatas : data }, function(msg) { 
    alert(msg); //on success 
}); 
+0

謝謝。你的建議讓我感動下一步。我改變了上面的代碼,如下所示:var data = new Array(); data.push($('assessment_report_form')。serialize()); data.push($('refine_results')。serialize()); alert(data); (URL,{CSV_DATA:data},function(msg){ return; // alert(msg); // on success }); '$ .post是一個Ajax調用。我不需要Ajax調用。我從那裏有任何其他方式發佈數據。 – 2012-03-20 07:59:06

+0

@ user1254174您可能會解碼JSON以在隱藏元素上進行字符串處理併發布,就像您通常那樣。 – Starx 2012-03-20 08:18:44

+0

使用[此庫]將數組隱藏到Json(https://github.com/douglascrockford/JSON-js) – Starx 2012-03-20 08:23:42

相關問題