2011-11-01 13 views
0

非常に単純なことをやろうとしています。jquery:シリアル化せずにPHPに入力値を投稿

は、これらのフィールドのあまりに多くを持っている:

<input name="itempriceqty0" /><input name="itemprice0" /><br /> 
<input name="itempriceqty1" /><input name="itemprice1" /><br /> 
<input name="itempriceqty2" /><input name="itemprice2" /><br /> 

等...

目標は、この形式の1つのPHP文字列にその値を得ることです:itempriceqty0 = itemprice0、itempriceqty1 = itemprice1、itempriceqty2 = itemprice3など...

jqueryでシリアライズすると、入力名やその他の文字を取り除くためにPHPで何度も分割する必要があるURL形式の文字列が返されます。& = chars。

$.post('test.php', { 
    itemprice: $('#itempricefieldswrapper :input').serialize() }, ... 
); 

jqueryで処理する最も簡単な方法は何ですか?

P.S.どこでもグーグル。助けが必要。ありがとう。あなたはJSONで見ることができる

+0

なぜ、Ajaxを使用して投稿するだけで、パレメーターを送信しないのですか? – Genjuro

答えて

2

このようなものはありますか?

すべての入力要素にクラス名を収集するよう指定します(例: qty-input

は、このような値を収集します。

var values = ''; 
$('.qty-input').each(function(){ 
    values = values + this.name + '=' + this.value + ',' ; 
}); 
+0

ありがとうございました。私は各()が行く唯一の正しい方法だと思います。 var itempricevalues = ''; $( 'input [name^= itempriceqty]')。それぞれ(function(){ var num = $(this).attr( 'name')を置き換えます。(/ itempriceqty /、 ''); itempricevalues = itempricevalues + this.value + '=' + $( 'input [name = itemprice' + num + ']')。val()+ '、'; }); –

0

は:

Convert form data to JavaScript object with jQuery

その記事では、JSONにフォームの値を読んで、それをシリアル化する方法を示しています。あなたはphpでjsonデシリアライザライブラリが必要ですが、そこから選択することが十分可能です。

(JSON:json_decodeは右に組み込まれていますか?Imはphp boiではありません)。

+0

PHP 5.2.0以降の場合、[json_decode](http://php.net/manual/en/)が組み込まれています。 /function.json-decode.php)関数を呼び出します。 –

0

は、あなたが以下のように使用できることを知っていますか:

<input type="text" name="foo[]" value="field1" /> 
<input type="text" name="foo[]" value="field2" /> 

、その後、あなたがこれを行う場合:

var_dump($_POST['foo']); 

をあなたは得る:

array(2) { 
    [0]=> 
    string(6) "field1" 
    [1]=> 
    string(6) "field2" 
} 

あなたが望むものに関連するかどうかはわかりませんが、それはそうであるようです。

関連する問題