• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ajax でのデータ受け渡しに関して)

Ajaxを使用したデータ受け渡しについて

このQ&Aのポイント
  • PHPで作成されたプログラムにajaxを組み込みたい。プルダウンの値をもとにDB検索し、結果を表示したい。
  • 同じ画面上では表示が可能だが、HTMLで分割された画面での受け渡しはできないのか。
  • ajaxを使用してのデータ受け渡しについて初歩的な疑問がある。

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

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.6

POST で渡す方法として、Ajaxを教えてもらったのではないのでしょうか? 質問がループしているようで、現状がよく分かりません…。 下記URLで似たような質問があります。参考になるかもしれません。 プルダウンの切り替えに関して | OKWave http://okwave.jp/qa/q6065270.html # 前質問は締め切ったようですね。お礼なしなので、回答者への通知メールは来ませんでしたが。

yurix_1
質問者

お礼

ありがとうございました。

その他の回答 (5)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.5

AからBへ渡す為にはどのようにしたら良いか教えて下さい。 ==>グローバルスコープの変数なら普通に渡せるはずですけど... (ただし、わたし先のロードが完了してる必要がありますが) <frameset rows="50%,*" frameborder="no" border="0" framespcing="0"> <frame src="./framesetx1.htm" id="top" name="top" scrolling="yes"> <frame src="./framesetx2.htm" id="bottom" name="bottom" scrolling="yes"> </frameset> で、 framesetx2.htmのjavascriptで、 var hoge="fuga"; という変数があったとして、 framesetx1.htmのjavascriptで、  parent.bottom.hoge="Changed!"; とした後で、 framesetx2.htmのjavascriptで alert(hoge); すると、"Changed!"になります。

yurix_1
質問者

補足

ご回答ありがとうございます。 何度も申し訳ありません。。。。 上段Aから下段BへPOSTとして渡す場合はどのような記述なのでしょうか。。。 初歩的な事で大変申し訳ありませんが、教えて下さい。 よろしくお願いします。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.4

No.1,2です。失礼しました。確かに ×document.getElement(s)ById( objID ); と、ビール二杯で酔っ払ってました。.... 同じ人の、既出の質問の続きだったんですね。

yurix_1
質問者

補足

申し訳ありません。  もう少しだけ教えて下さい。 フレーム内(上A、下B)のAのプルダウンの選択により、Bの内容を書き換えたいと 考えています。 AからBへ渡す為にはどのようにしたら良いか教えて下さい。 勉強不足で申し訳ありませんが、教えて頂ければ幸いです。 よろしくお願いします。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

そのまま window.parent.b.document.getElementById(~) で取得可能なはずです。 #1様はタイポで getElement(s)ById としたみたいで、それで取得できなかっただけではないでしょうか? 前の質問  http://okwave.jp/qa/q6051755.html を締め切ってから次の質問をするのがルールでは? サンプルで提示されているコードも#3様の回答のままの転用ですが、どのようなhogehoge.phpで実行されたのでしょうか? また、前のやり取りの内容が次の回答者に分かるように(充分に補足情報になり得る)、参照しておくのが礼儀では?(転用された方への礼儀も含めて)

yurix_1
質問者

補足

大変申し訳ありません。 ルールに従って記載するように致します。 ご指摘ありがとうございました。 

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

見当外れでなければ、訂正 フレームウィンドウのドキュメントに対して、getElementsById はだめですね。HTMLDocumentエレメントになるみたい。 そこでこんなふうにしたら出来た。   var target;   try{   target=parent.b.document.querySelector("#"+ objID);   }   catch(e){   var divs=parent.b.document.getElementsByTagName(objID);   for(var i=0;i<divs.length;i++)   if(divs[i].id=="target") target=divs[i];   }   target.innerHTML= ajax.responseText; ※parent.b.documentは、parent.frames[1].documentみたいに指定する事も可

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

HTMLで分割した画面って親ページのframeset内の別frameにそれぞれ、 別のHTMLを配置しているという事でしょうか。 それでも、親ページから見れば、同じHTML内ですから、 var obj = document.getElementById( objID ); の部分を、ちょっと変えるだけで、出来るはずです。 各フレームに名前がつけてあるなら。 <frameset> <frame name="a" id="a" src=".."> <frame name="b" id="b" src=".."> </frmae> aのフレーム内のjavascriptでbのフレーム内の要素の取得は、 parent.b.document.getElementsById( objID ) みたいに出来そう

関連するQ&A

専門家に質問してみよう