• ベストアンサー

div から テキストエリアに

divで表示させた文字を10秒後に、javascriptで、テキストエリアに表示させる方法は、ありますでしょうか。もう、2週間くらい悩んでいます。cssでdivをテキストエリア風にするのではありません。お分かりになる方が、いたらどうか助けてください。 <div id="area"></div>       →  表示文字   <TEXTAREA id="area2"></TEXTAREA>          -------------------  10秒後→  I 表示文字        I          -------------------

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こういう感じでしょうか? <html> <body> <div id="message"></div> <textarea id="message_editor"></textarea> <script language="javascript"> document.getElementById("message").innerHTML = "Hello JavaScript!"; // setTimeout(呼び出す関数名, ミリ秒(1/1000秒)単位で指定) // 実用的には100ミリ秒単位で指定します。 // タイマの精度は高くないことに注意してください。 // 最悪で0.5秒から1秒程度遅れることがあると考えてください。 window.setTimeout(copy, 10000); function copy() { document.getElementById("message_editor").value = document.getElementById("message").innerHTML; } </script> </body> </html>

bigjapan8
質問者

お礼

ありがとうございます。!希望どうりです。簡単にわかる人が、いるんですね。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

質問がよくわからないので、要領だけです。 function test() {  var timer = 10; // sec  setTimeout(function(){   document.getElementById("area2").value = document.getElementById("area").innerHTML;  }, timer * 1000); } みたいにすれば、test()を呼び出してから、約10秒後(timer秒後)に内容が複写されます。 ご質問文からだと「10秒後」のスタートが何で、どのようなきっかけがあるのかが不明なので、test()をどのように呼び出したいのかがわかりません。 また、(↑)の例では、innerHTMLをそのままtextareaに放り込んでしまっていますが、divの内容がテキストだけとは限らないため、チェックや変換を行う必要がありそうなので、そのあたりも修正が必要でしょう。

bigjapan8
質問者

お礼

早く、ご回答いただきありがとうございます。!修正は、なんとかできそうです。

関連するQ&A