プロが教えるわが家の防犯対策術!

フレームから親ウィンドウへのデータ受け渡しについて質問なんですが、
Aという親ウィンドウがあり、親ウィンドウ内にBというインラインフレームがあります。

(1)Bインラインフレームでテキストボックスに値が入ったと同時に、Aにあるテキストボックスにも値を挿入する。
(2)A親ウィンドウのボタンをクリックすると、Bインラインフレーム内のテキストボックスからA親ウィンドウのテキストボックスに値を取得する。

この二つの方法がよくわかりません。
どなたかおわかりの方がいらっしゃれば教えてください。

また、フレーム操作の詳しい解説が書いてあるおすすめのHPなどがあれば教えてくださいm(__)m

A 回答 (2件)

(1)


onChangeではなくて、onKeyDownを使ってはどうでしょう?

 parent.document.Aのフォーム名.Aのテキストボックス名.value = this.value;

これで入力されたのと「ほぼ同時に」値がAのテキストボックスに入力されます。
ただ、どうも1文字分送れているようなので、入力完了時にEnterを押す等しないといけません。

(2)に関しては、#1の方の書かれている通りです。
    • good
    • 1

> (1)Bインラインフレームでテキストボックスに値が入ったと同時に、Aにあるテキストボックスにも値を挿入する。



親ウィンドウA は、インラインフレームB からみると、parent になります。
B のテキストボックスの onchange に

  window.parent.document.Aのフォーム名.Aのテキストボックス名.value = this.value

という感じで書けばOK。ただ、onchange イベントは、「値が入ったと同時」というタイミングではないですが。


> (2)A親ウィンドウのボタンをクリックすると、Bインラインフレーム内のテキストボックスからA親ウィンドウのテキストボックスに値を取得する。

iframe タグに名前(name 属性)を付けておけば、その名前の子ウィンドウとしてAからBを識別できます。

ボタンの onclick に

  Aのテキストボックス.value = window.Bの名前.document.Bのフォーム名.Bのテキストボックス名

という感じ。
    • good
    • 0

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