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

テキストボックスを持つ2つのWebページ(A.html,B.htmlとします)があります。
A.html内にB.htmlを開くJavaScript
(window.open("B.html");)を記述しています。

このスクリプトを実行したらB.htmlを新しいウィンドウで開きますが、
このBページ内のテキストボックスに文字データを入力して、
OKを押したら、A.htmlのテキストボックスにデータを表示させたいのです。
こういうことはJavaScriptだけでできないのですか?
cgi+JavaScriptを使わないとできないのでしょうか?

フレーム間の場合はできそうですが、ウィンドウ間と言うのは出きるのか
不明です。
ご存知の方、よろしくお願いします。

A 回答 (2件)

説明のために、


A.html、B.htmlのフォーム、テキストボックスをそれぞれform_a、form_b、txtbox_a、txtbox_b
としますね。

B.html内で、テキストボックスの文字データは
document.form_b.txtbox_b.value
と表せます。同様に、A.html内で、テキストボックスの文字データは
document.form_a.txtbox_a.value
と表せます。
ここで、B.htmlはA.htmlから開いた子ウィンドウですので、B.htmlから見てA.htmlは「このウィンドウを開いたウィンドウ」と表すことができるため、
window.opener
でアクセスできます。
つまり、B.htmlで、JavaScriptで
window.opener.document.form_a.txtbox_a.value = document.form_b.txtbox_b.value ;
と表記すれば実現できるかと思います。
    • good
    • 1
この回答へのお礼

分かりやすい解説、どうもありがとうございました。
私もopenerを操作してみるとできることにきづいてしまいました。
お時間とって申し訳ありませんでした。

まだまだオブジェクトについて理解不足です。上の回答ページを参考に
勉強します。

お礼日時:2001/08/29 17:10

B.htmlの方に


<SCRIPT LANGUAGE="JavaScript">
<!--
function SetText()
{
window.opener.document.FORM.text.value = document.f2.t2.value;
}
// -->
</SCRIPT>

を記述して、B.htmlのフォームのボタンが押されたら呼び出すようにして下さい。

window.openerはB.htmlを開いたHTML(つまりA.html)のことを指していて、
FORM、textはそれぞれA.htmlのフォームとその中のテキストボックスの名前です。
f2、t2はB.htmlの方のそれになっています。
    • good
    • 0
この回答へのお礼

分かりやすい解説、どうもありがとうございました。
私もopenerを操作してみるとできることにきづいてしまいました。
お時間とって申し訳ありませんでした。

お礼日時:2001/08/29 17:09

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