• ベストアンサー

if構文

初心者でif構文がよくわからず質問させてください。 下記のようなボタンをつくり、 <form action="#"> <input type="button" value="うさぎ" id="txt" onclick="aGetElementById()" /> <input type="button" value="とり" id="txt" onclick=b"GetElementById()" /> </form> ボタンをクリックして、 <div><span id="box"></span>が大好きです。</div> のspanの中にvalue名(うさぎ・とり)を表示させ、『「value名」が大好きです。』と表示させたいのです。 Javascriptを下記のように書いてみたのですが、テキスト表示の切り替えがうまくいきません。 <script> <!-- function aGetElementById(){ var text=document.getElementById("txt"); var box=document.getElementById("box"); box.innerHTML=txt.value; } function bGetElementById(){ var text=document.getElementById("txt"); var box=document.getElementById("box"); box.innerHTML=txt.value; } --> </script> どうかおしえてください。 よろしくお願いします。

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

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

こんな感じでしょうか? <html> <script type="text/javascript"> function hoge(v){ document.getElementById('box').innerHTML=v; } </script> <body> <form action="#"> <input type="button" value="うさぎ" id="txt" onclick="hoge(this.value)" /> <input type="button" value="とり" id="txt" onclick="hoge(this.value)" /> <p><div><span id="box"></span>が大好きです。</div></p> </form> </body> </html>

nyuri
質問者

お礼

まだまだ、javascriptわかってないみたいですね。 もっと勉強します! どうもありがとうございした。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

おおきく3つ間違いがあります。 1.var text=・・・で変数textを指定していますが、代入時にはtxtとtypoしている 2.とりの方の処理がnclick=b"GetElementById()"と文法ミスをしている 3.idのtxtがユニークではないため競合している。 そもそもfunctionをわける必要はなさそうなので、以下のようにすれば 解決します。 <script> function setBox(obj){ var box=document.getElementById("box"); box.innerHTML=obj.value; } </script> <form action="#"> <input type="button" value="うさぎ" onclick="setBox(this)" /> <input type="button" value="とり" onclick="setBox(this)" /> </form> <div><span id="box"></span>が大好きです。</div> ただ、最初に(なにもない)が大好きです・・・と表示されるのは なかなかみっともないので、何か処理が必要ですね

nyuri
質問者

お礼

詳しくご説明ありがとうございました。 まだまだ理解不足で、色々と間違っているところがあり、 ご指摘を受け、とても勉強になりました。

関連するQ&A