dポイントプレゼントキャンペーン実施中!

よろしくお願いいたします。

たとえば、セレクトボックスを作り

<form name="form1" method="post" action="send.cgi">
<select name="option1">
<option value="sample1">サンプル1</option>
<option value="sample2">サンプル2</option>
<option value="sample3">サンプル3</option>
</select>
</form>

そしてjavascriptにて

form1.option1.selectedIndex=2;

などとすると、スクリプトからセレクトボックスの選択内容を変化させることができます。ここまでは問題ありません。

さて、このセレクトボックスが別ウインドウにあり、別ウインドウを開く際、特定の選択をした状態で開きたいのですが、それは可能なのでしょうか?

まず、親ウインドウから子ウインドウを開きます。

var childWindow = window.open('http://hogehoge.com/sample.html', 'kowindow');

このhttp://hogehoge.com/sample.html(子ウインドウ)に、先ほどのフォーム、セレクトボックスが書かれています。

親ウインドウから、子ウインドウを開く際、セレクトボックスの選択内容を変化させたいのです。

kowindow.form1.option1.selectedIndex=2;

みたいな感じですが、これでは動作しません。どうすればいいでしょうか? また子ウインドウに何かスクリプトを埋め込む必要があるでしょうか。

どうぞよろしくお願い申し上げます。

A 回答 (1件)

>var childWindow = window.open('

http://hogehoge.com/sample.html', 'kowindow');

であれば

×kowindow.form1.option1.selectedIndex=2;
○childWindow.form1.option1.selectedIndex=2;

では?

ただし・・・
(1)別のドメインだとセキュリティの関係で、javascriptで制御は無理かもしれません
(2)ブラウザの仕様でform1みたいなアクセスはできない可能性があります。
(getElementByIdなどでidを指定してアクセスしないといけないかもしれません)

ちゃんとやるなら
http://hogehoge.com/sample.html?xxx=2
のようなアクセスの仕方をして、サーバー側のプログラムでxxxに指定された数値を
もとにデフォルトの表記を変えるような処理が妥当です
    • good
    • 0
この回答へのお礼

お返事が遅くなり申し訳ございませんでした。ご回答いただき、ありがとうございました。

残念ながら、同ドメインでも、別ウインドウの制御はできませんでした。getElementsByNameでやってみても、同じページは上手くいくのですが、やはりポップアップウインドウ内は無理でした。

結局、最後におっしゃっていただいたとおり、引数を使ってパラメーターを引き渡し、新しいウインドウのonloadイベントで引数を取得して処理する方法で解決しました。

どうもありがとうございました!!!

お礼日時:2013/03/26 19:01

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