2011-01-05 7 views
3

は、私は、この(擬似コード)のような何かをしたいと考えて送信します。

<form id='f1'> 
<input type='text' name='t1'/> 
<input type='text' name='t2'/> 
<input type='text' name='t3'/> 
</form> 
サーバー側で
var ids=[9,32,45]; 
$.post(
"test.php", 
{$("#testform").serialize(), page: 7, ids: ids}, 
function(){ alert('success!'); } 
); 

私はからフィールドを取得したいですフォーム+ページとID

は可能ですか?その後

var data = $("#testform").serializeArray(); 
data.push({ name: "abc", value: "1" }); 
data.push({ name: "ef", value: "3" }); 
$.post("test.php", data, function(){ alert('success!'); }); 

あなたは渡す:

+0

ajaxForm http://jquery.malsup.com/form/をチェックすると、フォームの値をシリアル化する方法がわかります。 – dotjoe

答えて

7

あなたは(.serialize()は、文字列を作成して)、このように、$.post()data引数として使用する前に、それに追加.serializeArray()と値の配列を作成する必要があります配列の中でオブジェクトを渡すようにして、$.param()が内部的に呼び出され、POSTクエリのデータ文字列に変換されます。

+0

申し訳ありませんもう1つのパラメータ(配列)を追加しました。問題がある場合はわかりません。 – Omu

+0

@Omu - いいえ、問題ではありません。 'data .'の代わりに、または' $ .ajaxSettings.traditional = true'(デフォルトはfalse)の前に '$ .param(data、true)'で配列のシリアル化を制御することができます。 –

+0

申し訳ありません、うまくいきません、再度私の質問を編集しましたので、私がやっていることとまったく同じになります – Omu

関連する問題