2012-03-19 9 views
0

私は3つのフォームを含むWebページを持っています。それぞれには要素の大きなリスト(Input、select)があります。 クエリ文字列を使用して、serialize関数を使用してユーザー送信時のページを更新し、URLにパラメータを渡していました。そのような場合、URLの長さは、IEブラウザで許容される最大文字列長を超えています。Javascriptの.serializeArray()関数を使用して2つのフォームの要素を追加できますか?

これをPOSTメソッドに変更し、サーバーがデータをArrayの形式にすることを期待しているため、Jquery serializeArray関数を使用して要素を送信する予定です。

.serializeArray()関数で十分なデータが見つかりません。 マイページの各フォームの.serializeArray()関数の出力を結合してサブミットできますか? これを行うための他の方法はありますか。

どのような提案も歓迎されます。

+1

を送ることができます。 serializeArray()で十分なデータがありますか?あなたは文書を見ましたか? http://api.jquery.com/serializeArray/ –

答えて

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()); アラート(データ)。 $ .post(URL、{CSV_DATA:データ}、関数(msg){ return; //アラート(msg); //成功時 }); '$。postはAjax呼び出しです。私はAjaxコールは必要ありません。私はここからデータを投稿する方法は他にあります。 –

+0

@ user1254174隠し要素の文字列にJSONをデコードし、通常どおりに投稿することができます。 – Starx

+0

[このライブラリ](https://github.com/douglascrockford/JSON-js)を使用して配列をJsonに変換します。 – Starx

関連する問題