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

javascriptのdovument.writeについての質問です。
まず以下のプログラムを見て頂きたいのですが・・・

window.onload=function moji(){
  YorN=window.prompt('文字を表示しますか?','');
  if(YorN=='y'){
   document.write('サンプル');
  }
}

上記のプログラムのように、ページを読み込んだらプロンプトを表示し、『y』と入力したらdocument.writeで文字列を表示させるというようなことを考えているんですが、
上記のプログラムですと、プロンプトが表示されて『y』と入力すると、サンプルという文字しか表示されず、最初に見えていたページの内容が消えてしまいます。
最初に見えていたページに文字を付加するという形にしたいのですが、方法を思いつきません。
どなたかご存知の方よろしくお願いいたします。

ブラウザはIE8です。
ちなみにjavascriptは外部ファイルとして<head>内で読み込ませています。

A 回答 (1件)

document.writeしてしまってはソースが上書されちゃいますね。


どこの位置に書き込むかなど調整が必要でしょう

<script>
window.onload=function moji(){
YorN=window.prompt('文字を表示しますか?','');
if(YorN=='y'){
document.getElementById('hoge').innerHTML='サンプル';
}
}
</script>
test
<div id="hoge"></div>
test
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
お礼が遅れて申し訳ありません。

やはり上書きされてしまいますか・・・
ご教授頂いたように先にidをつけた<div>タグを書き込ませてそこに文字を表示させたいと思います。

ありがとうございました。

お礼日時:2011/01/25 18:18

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