前提・実現したいこと
ラジオボタンでの選択肢の中にその他という項目を作り
チェック状態によって入力可否にしたいのですがページ開いた状態では入力不可になっているもののチェックを外す(他の選択肢にチェックを入れる)と入力可能状態のままになってしまっています
発生している問題・エラーメッセージ
上記ですがページ開いた状態では入力不可になっているもののチェックを外す(他の選択肢にチェックを入れる)と入力可能状態のままになってしまっています
該当のソースコード
html
1<!DOCTYPE html> 2<html> 3 4<head> 5 <meta charset="utf-8"> 6 <title>test1</title> 7 <meta name="description" content="サイトの説明文"> 8 9 <style> 10 /*チェック入れないと灰色*/ 11 input.checkbox+label { 12 color: #C0C0C0; 13 } 14 15 /*チェック入れると黒*/ 16 input.checkbox:checked+label { 17 color: #000000; 18 } 19 20 /*チェック入れないと灰色*/ 21 input.radio+label { 22 color: #C0C0C0; 23 } 24 25 /*チェック入れると黒*/ 26 input.radio:checked+label { 27 color: #000000; 28 } 29 30 body { 31 font-size: 12px; 32 background-color: rgb(224, 232, 237) 33 } 34 35 table { 36 background-color: #FFFFFF 37 } 38 </style> 39 40 <script> 41 function connecttext(textid, ischecked) { 42 if (ischecked == true) { 43 // チェックが入っていたら有効化 44 document.getElementById(textid).disabled = false; 45 } else { 46 // チェックが入っていなかったら無効化 47 document.getElementById(textid).disabled = true; 48 } 49 } 50 51 function connecttext(textid, ischecked) { 52 // チェック状態に合わせて有効・無効を切り替える 53 document.getElementById(textid).disabled = !ischecked; 54 } 55 window.onload = function() { 56 document.getElementById("その他%").disabled = true; 57 } 58 </script> 59</head> 60 61<body> 62 63 <table border> 64 65 <tr> 66 <td align="left" valign="top" colspan="3"><input type="radio" name="%" class="radio" value="5%"><label>5%</label></td> 67 <td align="left" valign="top"><input type="radio" name="%" class="radio" value="7%"><label>7%</label></td> 68 <td align="left" valign="top"><input type="radio" name="%" class="radio" value="11%"><label>11%</label></td> 69 <td align="left" valign="top" colspan="2"><input type="radio" name="%" class="radio" onclick="connecttext('その他%',this.checked);"><label>その他(<input type="text" name="othertext" id="その他%" 70 value="">%)</label></td> 71 </tr> 72 73 </table> 74</body> 75 76</html> 77
試したこと
参考にしたサイト様
チェックボックスに合わせてテキスト入力欄の有効・無効を切り替える方法
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー