チェックボックスにチェックが付いた際にinput内のvalueを取り出し、
表示をさせるといった実装をコントロールしたいです。
こちらのサイト([https://itsakura.com/js-checkbox])を参考にさせていただき、
checkboxにチェックしてボタンを押すと値を表示し、非表示にしていたものも表示できるようにまでできました。
ただ、現在の仕様だと値はでるのですが、一番下(みかん)にチェックをいれないと【テキスト入れる】と【最終決定ボタン】がでなくなってしまいました…。
なぜ一番下だけ反応しているのでしょうか…
checkboxボタンにチェックをし、ボタンを押すと表示、全部はずしてボタンを押すと非表示をいったようにコントロールするにはどのようにコードを修正すればいいのかお力を賜わりたくこちらに投稿させていただきました。
html
1<div class="checkListWrap"> 2 <div class="wrapBorder"> 3 <p> 4 <strong> 5 ダミーテキストダミーテキストダミーテキストダミーテキスト 6 </strong> 7 </p> 8 <div id="checkWrap"> 9 <form action="" method="post" name="form1" target="successIframe" onSubmit="return check()"> 10 <p class="checkList"> 11 <input type="checkbox" id="touch1" name="product" value="りんご" class="checkbox-input"> 12 <label for="touch1" class="checkbox01">りんご</label> 13 </p> 14 15 <p class="checkList"> 16 <input type="checkbox" id="touch2" name="product" value="バナナ" class="checkbox-input"> 17 <label for="touch2" class="checkbox01">バナナ</label> 18 </p> 19 20 <p class="checkList"> 21 <input type="checkbox" id="touch3" name="product" value="ナシ" class="checkbox-input"> 22 <label for="touch3" class="checkbox01">ナシ</label> 23 </p> 24 25 <p class="checkList"> 26 <input type="checkbox" id="touch4" name="product" value="ぶどう" class="checkbox-input"> 27 <label for="touch4" class="checkbox01">ぶどう</label> 28 </p> 29 30 <p class="checkList"> 31 <input type="checkbox" id="touch5" name="product" value="もも" class="checkbox-input"> 32 <label for="touch5" class="checkbox01">もも</label> 33 </p> 34 35 <p class="checkList"> 36 <input type="checkbox" id="touch6" name="product" value="マンゴー" class="checkbox-input"> 37 <label for="touch6" class="checkbox01">マンゴー</label> 38 </p> 39 40 <p class="checkList"> 41 <input type="checkbox" id="touch7" name="product" value="みかん" class="checkbox-input"> 42 <label for="touch7" class="checkbox01">みかん</label> 43 </p> 44 45 <input type="button" value="商品を確認する" onclick="clickBtn()" id="btn" /> 46 47 <div id="product"></div> 48 <div id="zero" style="display: none;"><span>テキスト入れる</span> 49 <button type="submit" name="button" value="送信" onclick="submitForm()">最終決定ボタン</button> 50 </div> 51 </form> 52 53 </div><!-- checkWrap --> 54 </div><!-- wrapBorder --> 55 56 57 58 </div><!-- checkListWrap -->
javaScript
1<script> 2 function clickBtn() { 3 const arr1 = []; 4 const product = document.form1.product; 5 for (let i = 0; i < product.length; i++) { 6 if (product[i].checked) { 7 arr1.push(product[i].value); 8 document.getElementById("zero").style.display="block"; 9 }else if (product[i]){ 10 document.getElementById("zero").style.display="none"; 11 } 12 } 13 document.getElementById("product").textContent = arr1; 14 } 15</script>
また、このformはグーグルフォームと連動させようと考えており上記のJavaScriptコードだとname="product"で取得しているのですが【input type="checkbox】に変更して使えるようにもするのは可能でしょうか。
※グーグルフォームを使用する際にnameの値にグーグルフォームから書き出された値を入れたいため、自分で適当に入れた【product】というのは使えないのかなと考えているためです。
拙い投稿ではありますが、お知恵をお借りできれば幸いです。
何卒よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/18 00:39