• ベストアンサー

javascriptの配列をPHPで読み込みたいのですが・・・

javascriptの配列を記述してあるファイル info.js があるとします data = new array(); data[0] = new array("data1","data2","data3"); data[1] = new array("data1","data2","data3"); data[2] = new array("data1","data2","data3"); ・ ・ ・ 上記の文で書かれた配列データを、PHP上で読み込み、新着一覧のような形でhtmlで表示したいのですが、方法が分かりません。 分かる方がいらっしゃいましたら教えて下さい。

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

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

phpに送信するにはPOSTなどの操作が要りますが、 formを利用した例が下記になります。 php側では、$_POST['data']に配列として取得できます <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- data = new Array(3); data[0] = new Array("data1","data2","data3"); data[1] = new Array("data1","data2","data3"); data[2] = new Array("data1","data2","data3"); function mkinput(){ for(var i=0; i < data.length;i++) for(var j=0; j < data[i].length;j++){ make_hidden('data',i,j,data[i][j],'myform'); } } function make_hidden(name,i,j,val,fn){ var q = document.createElement('input'); q.type = 'hidden'; q.name = name+'['+i+']['+j+']'; q.value = val; document.forms[fn].appendChild(q); } // --> </SCRIPT> </HEAD> <BODY onLoad="mkinput()"> <form name="myform" method="post" action="hogehoge.php"> <input type="submit" > </form> </BODY> </HTML>

kadohisa
質問者

お礼

非常に参考になるソースの提供ありがとうございました。 解決できそうです。

その他の回答 (1)

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

PHPはサーバーサイドで動く。 JavaScriptはブラウザ上で動く。 つまり、PHPが動いているときはJavaScriptは動けないし。 JavaScriptが動いているときはPHPは動けない。 どうしてもやりたいっていうのであれば、非同期通信してPHP側(HTTP等で)にJSON投げればいいだけ。 って、新着一覧ならJavaScriptでやればいいだけでは? なぜ JavaScriptでデータを持っているのにPHPにやらせたいの?そのままJavaScriptで処理して表示させたほうが手っ取り早いし、スマートだよ。

kadohisa
質問者

お礼

素早い回答ありがとうございます。 携帯ページに表示させるため、JavaScriptは動かないと思い、 どうにか表示させれないかと。 すみません、説明が不足していました。

関連するQ&A

専門家に質問してみよう