みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

innerHTMLに代入したインラインフレームのDIVの値の取得について

下記のソースは「読み込み」ボタンを押した時にあらかじめ用意してた<div id="box">にインラインフレームを代入し、「値取得」ボタンを押したら、'sample.html'内のdivの値「keisan」をアラートで表示する記述です。このソース内容を、ボタンのイベントで「keisan」の値を取得するのではなく、<body>のonLoadでページを開いた瞬間にアラートが
出るようにしたいのですが、お分かりになる方はいらっしゃいますでしょうか?
わかりにくい説明ですみません。どうかよろしくお願いします。


<html>
<head></head>
<body>
<div id="box"></div>
<input type="button" value="読み込み" onClick="Details.changeURL('sample.html')" />
<input type="button" value="値取得" onClick="Details.showMessage('keisan')" />

</body>
<script type="text/javascript">
<!--
var Details = (function(){
var handle = document.getElementById('box');
var buffer = null;
return {
changeURL: function(url){
handle.innerHTML = "<iframe src=\""+url+"\" id=\"ifr\"></iframe>";
},
showMessage: function(id){
buffer = document.getElementById('ifr').contentWindow.document;
alert(buffer.getElementById(id).innerHTML);
}
}
})();
//-->
</script>
</html>

投稿日時 - 2010-03-10 17:12:01

QNo.5740941

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

9人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

onloadでやるなら、わざわざスクリプトで書き換える必要もないので…

<div id="box">
<iframe src="sample.html" onload="
alert(this.contentWindow.document.getElementById('keisan').innerHTML);
"></iframe>
</div>

とか?

投稿日時 - 2010-03-10 18:11:29

お礼

ご連絡遅くなって申しわけございません!お忙しい中、ご回答いただきましてありがとうございました!
今回の質問事項が納期直前の案件で私のレベルじゃとても解けない難題でございまして(><)!
本当に助かりました!
iframeの中にinnerHTMLの記述ができるなんてfujillinさんに
教えていただかなかったら、想像もできませんでした!
また機会がございまいたらご教授よろしくお願いします。

投稿日時 - 2010-03-15 08:34:21

ANo.1

handle.innerHTML = "<iframe src=\""+url+"\" id=\"ifr\"></iframe>";

handle.innerHTML = "<iframe src=\""+ url +"\" id=\"ifr\" onload=\"Details.showMessage('keisan');\"></iframe>";
とし、
<body onload="Details.changeURL('sample.html')">
とすれば?

投稿日時 - 2010-03-10 17:40:05

お礼

ご連絡遅くなって申しわけございません!お忙しい中、ご回答いただきましてありがとうございました!
今回の質問事項が納期直前の案件で私のレベルじゃとても解けない難題でございまして(><)!
本当に助かりました!
BODY onLoadでまずHTMLソースを表示させる関数を実行し、
iframeでさらにIDを取得できるonLoadできるとは…
私の思考回路及び処理能力ではとても思いつかない記述で
感動いたしました。本当に感謝いたします。
また機会がございましたら御教授よろしくお願いいたします。

投稿日時 - 2010-03-15 08:50:34

あなたにオススメの質問