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

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

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

このQ&Aに関連する最新のQ&A

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

分かりやすい解説、どうもありがとうございました。
私も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に関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qwindow.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するには

window.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するにはどうしたらよいのでしょうか。

子ウィンドウから
<INPUT TYPE="button" value=\"実行\" onClick=opener.document.jikkou();>

<INPUT TYPE="button" value=\"実行\" onClick=opener.jikkou();>
等のボタンを作ってみましたが、無反応でした。

すいません。宜しくお願いします。

Aベストアンサー

普通に実行できると思いますが・・・

//parent.htm
<script>
function jikkou(){
alert("ok");
}
</script>
<input type="button" value="open child" onclick="window.open('child.htm')">

//child.htm
<input type="button" value="jikkou" onclick="opener.jikkou()">

Qwindow.openで開いた別ウィンドウのリンクを親ウィンドウで開きたい

いつもお世話になっています。
index.htmlというページがあり、window.openでtest.htmlというウィンドウを開きます。
test.htmlの中に記述したリンクをindex.htmlと同じウィンドウに開きたいのですが、どう記述すればいいのでしょうか?
index.htmlを親とは見なさずparentではtest.htmlと同じウィンドウに開いてしまいます。
blankではindex.htmlとtest.htmlとも別のウィンドウに開いてしまいます。

おそらく初歩的な問題なのだと思いますが、どうかお知恵を貸して下さい。
普通ですが、test.htmlの現在の記述は以下です。
<a href="開きたいページ.html" target="_parent">ページを開く</a>

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

Aベストアンサー

こんにちは。開いた子ウィンドウの中でwindow.opener.location.href="http://www.example.com"などとなっていれば良いはずです。window.opener.location.replace(~)も有効かと。以下が参考になります。

http://shoyu-ramen23.jugem.jp/?eid=203
http://javascript.eweb-design.com/0515_os.html

以下のQ&Aも注意点として有用だと思いました。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1221399962

その他、"javascript window 子ウィンドウから location"などと検索してみて下さい。

QJavaScript サブウィンドウを開くときの親ウィンドウ

親ウインドウ画面が、縦に長いときに
下のほうへにスクロールしたまま、
サブウィンドウを開くと
親ウィンドウ画面が
一番上へ戻ってしまいます。

親ウィンドウを下にスクロールしたままにして、
サブウィンドウを開きたいです。

親ウィンドウを下にスクロールしたまま
サブウィンドウを開く方法を教えてください。



よろしくお願いします。

Aベストアンサー

> なぜ、なるべく「href="javascript~」と書かないほうが良いのですか。
> 参考までに聞きたいです。お時間が空いたらでいいので教えてください。

まぁ一番の理由は、W3Cのアクセシビリティ・ガイドラインが書くなと言っているので。
http://www.w3.org/TR/WCAG10-HTML-TECHS/#scripts-gt
scriptが動かない環境の場合、完全にデッドリンクになってしまいます。

<a href="sub_page.html" onclick="window.open('sub_page.html',null);return false;">ウィンドウを開く</a>

と書けば、scriptが動かない場合は通常のリンクとして働くので、より多くの人に見られるようになります。
さらに、「href="javascript~」と書いた場合、ほとんどのブラウザはリンクテキストのクリックを「ページジャンプ」と見なすので、表示されているページがリセット(表示または動作中止)されます。にも関わらず、そのうえ場合によってはジャンプもしない。
ためしに、GIFアニメーションなどを表示したページに「href="javascript~」を書いてクリックしてみてください。アニメーションが止まってしまいます。
(環境によりますが)
なお、これはウィンドウを開くだけでなく他のスクリプトも同様です。

たった今達成されたイシンバエワの世界新とは違って、ジャンプさせないほうがいいですね。

> なぜ、なるべく「href="javascript~」と書かないほうが良いのですか。
> 参考までに聞きたいです。お時間が空いたらでいいので教えてください。

まぁ一番の理由は、W3Cのアクセシビリティ・ガイドラインが書くなと言っているので。
http://www.w3.org/TR/WCAG10-HTML-TECHS/#scripts-gt
scriptが動かない環境の場合、完全にデッドリンクになってしまいます。

<a href="sub_page.html" onclick="window.open('sub_page.html',null);return false;">ウィンドウを開く</a>

と書けば、scriptが動かない...続きを読む

Q子ウィンドウから親ウィンドウのテキストボックスに・・・

こんにちわ。
以前、JSで開いた子ウィンドウのテキストボックスに親ウィンドウから文字をはめるという質問をしました。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=649391

今回は逆に、開いた子ウィンドウから親ウィンドウのテキストボックスに文字をはめたいと考えています。
親ウィンドウのウィンドウ名ってなにになるんでしょうか?

お手数をおかけいたしますがお願い申し上げます。

Aベストアンサー

親ウィンドウのウィンドウ名はwindow.openerでいけるのではないかと思います。

参考URL:http://tohoho.wakusei.ne.jp/js/window.htm#opener

Q【Javascript】(テキストボックスの)テキストの末尾にフォーカスを置きたい【フォーム】

onLoad時にテキストボックスにフォーカスをあてるのですが、
質問タイトルのようなことができません。

前ページからPOSTで持ってきた文字列を入れたテキストボックスなのですが、
BODYタグ部分にonLoad="frm.elm.focus();"と書くと、
そのテキストボックス内の文字列の先頭にフォーカスが行きます。

文字列の続きを入力する項目なので
文字列の末尾にフォーカスを置きたいのですが
方法はありますでしょうか。

ご存知の方いらっしゃいましたらご教示願います。
質問が解りづらかったらすみません。
宜しくお願い致します。

Aベストアンサー

これでどうでしょう?
<html>
<body onLoad=document.F1.I2.focus();document.F1.I2.value="テスト">
<form name="F1">
<input type="text" name="I1"><br><input type="text" name="I2">
</form>
</body>
</html>


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報