※ ChatGPTを利用し、要約された質問です(原文:セレクトボックスとテキストボックスの連動について)
セレクトボックスとテキストボックスの連動について
このQ&Aのポイント
セレクトボックスで質問事項を選ぶと、テキストボックスの中に選択した名称が表示される。問題点として、セレクトボックスで質問を2回選ぶと、選んだ2つの結果がテキストボックス内に連続して表示されてしまいます。
セレクトボックスとテキストボックスを連動させるためにJavaScriptの関数を使用しています。選択した質問の値をテキストボックスの値に加え、テキストボックスの値をリセットしています。
2回目以降の選択時に前回の処理をクリアして、1つのみの表示にするためには、JavaScriptの関数内でテキストボックスの値を一度クリアする処理を追加する必要があります。この場合、処理の順番や条件分岐を工夫することで問題を解決することができます。
セレクトボックスで質問事項を選ぶと、テキストボックスの中に選択した名称が表示される。ということをやりたく下記の様に設定しました。
<script>
function hoge(obj){
var f=obj.form;
var v=obj.options[obj.selectedIndex].value;
var c=f.elements["comment"];
c.value+=v;
obj.selectedIndex=0;
}
</script>
<select name="質問事項1" onchange="hoge(this)">
<option value="selected">質問事項を選んでください</option>
<option value=“質問1">質問1</option>
<option value="質問2">質問2</option>
<option value="質問3">質問3</option>
</select>
<textarea name="comment"></textarea>
現在発生している問題が1点あります。
セレクトボックスで質問を2回選ぶと、選んだ2つの結果がテキストボックス内に連続して表示されます。
例:
1回目
セレクトボックス内
「質問1」を選択
↓
テキストボックス内
「質問1」が表示
2回目
セレクトボックス内
「質問2」を選択
↓
テキストボックス内
「質問1質問2」と表示
2回目以降選んだ場合に前回の処理をクリアにして、1つのみ表示させたいと思うのですがどうやればいいのでしょうか。
よろしくお願いします。
お礼
ありがとうございます! できました! 本当に助かりました。