前提・実現したいこと
□利用規約に同意する
にチェックを入れると「送信ボタン」が押せるフォームを作っています。
「送信ボタン」の文字色について、
□利用規約に同意する
が未チェックの時は白に、チェック済の時は黒にしたいです。
そこでif文で条件分岐させてcheckboxの文字色を変更しようとしたのですが、反映されませんでした。
HTML(該当部分)とJavascript(全文)のコードは以下の通りです。
原因や解決方法がわかる方、アドバイスをお願いします!
該当のソースコード
HTML
1<!--「利用規約に同意する」チェックボックス --> 2<input type="checkbox" name="agreement" value="1" class="checkbtn"> 3利用規約に同意します 4 5<!--送信ボタン --> 6<p class="buttons"><input type="submit" name="submit_btn" class="submit" value="送信"></p>
該当のソースコード
JavaScript
1/* 2「利用規約に同意する」をチェックした時に送信ボタンが押せるようになる。 3ページのロード後、フォームの送信ボタンを有効にし、 4「利用規約に同意する」チェックボックスにクリックイベントを設定する。 5*/ 6 7window.onload = mailformcheck; 8 9function mailformcheck() { 10 //送信ボタンを取得 11 var submitList = document.getElementsByName('submit_btn'); 12 var submit = submitList[0]; 13 14 //送信ボタンを無効にする 15 submit.disabled = ture; 16 17 //「同意します」チェックボックスを取得 18 var checkboxlist = document.getElementsByName('agreement'); 19 var checkbox = checkboxlist[0]; 20 21 //クリック時のイベントを設定 22 checkbox.onclick = toggleCheckbox; 23} 24 25//チェックボックスのクリックイベントを定義 26function toggleCheckbox() { 27 //送信ボタンを取得する 28 var submitList = document.getElementsByName('submit_btn'); 29 var submit = submitList[0]; 30 31 //チェックボックスがチェックされているか 32 var checked = this.checked; 33 34 35 if (checked === true) { 36 submit.disabled = false; 37 document.getElementsByName('submit_btn').style.color="black"; 38 } else { 39 submit.disabled = true; 40 document.getElementsByName('submit_btn').style.color="white"; 41 } 42} 43 44
回答1件
あなたの回答
tips
プレビュー