2011-05-21 16 views
0

私は配列に名前の束があり、私はこのデータを自分のサイトの別のURLに投稿したいが、投稿データは "name =" + name + "& name =" + name + "" ; etcetcJavascript Array

だから、それぞれの名前のために、私はこれ以上の名前

私はこれをどのように行うことができますが存在しなくなるまでデータをポストするために追加する=別の名前を生成する必要がありますか?

+0

アレイを反復する。 –

答えて

2

アレイ内のすべての要素をname=を前に付けた同じものにマップしてから、&文字で結合することができます。あなたはArraymapメソッドを持っていないブラウザをサポートする必要がある場合

return names.map(function(name) { 
    return "name=" + name; 
}).join("&"); 

(それはJS 1.6が必要)、あなたはthe MDCからそれをつまむか、だけではなく、forループを使用することができます。

var queryBits = []; 
for (var i = 0, len = names.length; i < len; i++) { 
    queryBits.push("name=" + names[i]); 
} 
return queryBits.join("&"); 
+0

'map'はすべてのブラウザで利用できないと言わなければなりません。*編集:より完全な解決策のために+1 * –

+1

値をURIエンコードすることを忘れないでください。 – lonesomeday

+0

@Felix:「Submit」を押した直後にそれを理解しました。情報を含むように編集されました。 –

0

jquery param()を使用して、配列をシリアル化してURLにポストすることができます。参照のためにhereを見てください。自動的にデータをエンコードするので非常に便利です。

+0

彼はこの機能を使用するためだけにライブラリ全体を含めることはできますが、それは価値がありますか? –

+0

1ページにライブラリを使用するだけであれば、そのページにのみライブラリを含めることができます。 (そして、jQueryを使うのが簡単です。ブラウザの互換性についてあまり心配する必要がないからです) –