チェックボックスの質問です。
作ってみたのですが、どうしてもチェックした物が表示されず、最後の紫のところだけはチェックが効いて”チェックなし”も一緒に表示され、それ以外はelse if の”チェックなし”が表示されてしまいます。
記述のどこが間違っているかわかりますか?
elseでやってみたり、記述入れ替えたりしてみたのですがうまくいきませんでした。
ちなみに、else ifを消して、ifだけでやると正常に動くのですが、チェックない場合には何もでてこないので、やはりelse かelse ifに処理をいれたいです。
アドバイスなどよろしくお願いいたしますm(__)m
HTML
1<form> 2<div class="questionnaire"> 3 アンケート:好きな色(複数選択可) 4 <input type="checkbox" name="q1" value="赤" id="color1" ><label for="color1">赤</label> 5 <input type="checkbox" name="q1" value="青" id="color2" ><label for="color2">青</label> 6 <input type="checkbox" name="q1" value="黄" id="color3" ><label for="color3">黄</label> 7 <input type="checkbox" name="q1" value="緑" id="color4" ><label for="color4">緑</label> 8 <input type="checkbox" name="q1" value="紫" id="color5" ><label for="color5">紫</label> 9</div> 10 11<input type="button" id="button" value="取得する" onclick="getForm();"> 12 13</form> 14 15<div> 16 <label for="resultcheckbox">取得した色:</label> 17 <output type="text" id="resultcheckbox"></output> 18</div>
js
1function getForm(){ 2 var str =""; 3 var color2 = document.getElementsByName("q1"); 4 5 for (var i = 0; i < color2.length; i++){ 6 if(color2[i].checked){//(color2[i].checked === true)と同じ 7 str = str + color2[i].value + " "; 8 }else if(color2[i].checked === false){ 9 str = "チェックなし"; 10 } 11 } 12 13 document.getElementById("resultcheckbox").innerHTML = str; 14} 15
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/11 11:18
退会済みユーザー
2018/09/11 11:26
2018/09/11 11:34