- ベストアンサー
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> どうかおしえてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでしょうか? <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>
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
おおきく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> ただ、最初に(なにもない)が大好きです・・・と表示されるのは なかなかみっともないので、何か処理が必要ですね
お礼
詳しくご説明ありがとうございました。 まだまだ理解不足で、色々と間違っているところがあり、 ご指摘を受け、とても勉強になりました。
お礼
まだまだ、javascriptわかってないみたいですね。 もっと勉強します! どうもありがとうございした。