• ベストアンサー

ボタンでテキスト領域に文字列を表示させたい

 非常に初歩的なことでしょうが、ネットや書籍を見ても以下の ことが分かりません。お教えください。 ボタンを押すことで目的の文字列をフォームのテキスト領域に表 示したいのです。例えば、 <form> <input type="button" onClick=???? value="Click!"> <input type="text" size="10"> </form>  という内容で、onClickの右側をどう書いたらよいか分かりません。 document.write("文字列")だと、画面が更新されてボタンやテキ スト領域まで消えてしまうので、だめです。本を参考にして、 「document」のところを「document.form.txt」に変えればよい のかと考えたのですが、それではエラーがでます。  よろしくご教示ください。

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

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

書き方はいろいろあるとは思うのですが、 とりあえず以下のソースでご要望の動作はするはずです。 ---------------------------------------------- <html lang="ja"> <head> <meta http-equiv="Content-type" content="text/html"; charset="Shift-JIS"> <title>JavaScriptTest</title> <script type="text/javascript"><!-- function func_msg() { var str_data = "ここに表示したい文字列を入れましょう"; document.fm.data.value = str_data; } // --></script> </head> <body> <form name="fm"> <input type="button" onClick="javascript:func_msg();" value="Click!"> <input type="text" size="10" name="data"> </form> </body> </html>

babusan
質問者

お礼

 丁寧に全体を書いていただいてありがとうございます。  functionにいろいろな要素を入れれば、応用がききそうですね。助かります。

その他の回答 (2)

回答No.3

補足です。 JavaScript部分を分離せず、onClick一発で書くのであれば以下のようにすれば出来ると思います。 ---------------------------------------------- <html lang="ja"> <head> <meta http-equiv="Content-type" content="text/html"; charset="Shift-JIS"> <title>JavaScriptTest</title> </head> <body> <form name="fm"> <input type="button" onClick="javascript:data.value='ここに表示したい文字列を入れましょう';" value="Click!"> <input type="text" size="10" name="data"> </form> </body> </html>

babusan
質問者

お礼

 二通りの回答、本当にありがとうございます。  こちらはまさに文字列を入れることに特化したシンプルな内容ですね。 今後もくじけずに勉強して参ります。また何かありましたらよろしくお願いします。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

onclick="this.form.elements[1].value='入力したい文字'" てな感じ formやテキストボックスに名前を付けとくと、わかりがよくなりますよ。

babusan
質問者

お礼

 回答ありがとうございます。思ったとおりの結果が出ました。  formやテキストボックスに名前を付けることはおっしゃる通りです。 なるべく簡略化した形で例を出したので、省いた次第です。