プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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>
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/09/19 01:43

>配列列をHiddenで渡すしかないのでしょうか。



そうですね。
配列要素の数だけinput hiddenを作ってもいいし、カンマやコロンなどでつないで長い1つの文字列にしてPHPで分解してもいいし。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/09/19 01:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!