• ベストアンサー

JavaScriptからPHPに配列を渡すやり方

JavaScriptからPHPに配列を渡すやり方を教えてください。 やりたい事は、A.HTMLのJavaScriptで動的に作成された配列をB.PHPにPOSTで渡して、B.PHPに遷移したいと思っています。Ajax、JSONなどのキーワードで検索するとそれらしい回答はあるのですが、B.PHPに遷移したいので、Ajaxでもないような気がして、やりたい事にマッチする回答がありませんでした。配列列をHiddenで渡すしかないのでしょうか。もう少しスマートのやり方がないでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>JavaScriptで動的に作成された配列を 配列とはjavascriptの配列なのか、 >B.PHPにPOSTで渡して、B.PHPに遷移したい 動的にpostのフォームをつくってやる一番スマートでしょうね <head> <script> function post_b(){ var hoge=document.getElementById("hoge"); if(hoge) hoge.parentNode.removeChild(hoge); hoge=document.createElement("form"); hoge.setAttribute("action","b.php"); hoge.setAttribute("method","post"); var datas=[ {"name":"hairetu[0]","value":"fuga1"} ,{"name":"hairetu[1]","value":"fuga2"} ,{"name":"hairetu[2]","value":"fuga3"} ,{"name":"hairetu[3]","value":"fuga4"} ]; for(var i=0;i<datas.length;i++){ var hairetu=document.createElement("input"); hairetu.setAttribute("type","hidden"); hairetu.setAttribute("name",datas[i]["name"]); hairetu.setAttribute("value",datas[i]["value"]); hoge.appendChild(hairetu); } document.getElementsByTagName("body")[0].appendChild(hoge); hoge.submit(); } </script> </head> <body> <input type="button" value="post b" onclick="post_b()"> </body>

panda1212
質問者

お礼

ありがとうございます。大変参考になりました

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4902/10363)
回答No.1

>配列列をHiddenで渡すしかないのでしょうか。 そうですね。 配列要素の数だけinput hiddenを作ってもいいし、カンマやコロンなどでつないで長い1つの文字列にしてPHPで分解してもいいし。

panda1212
質問者

お礼

やはりそうですか。ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A