私はこれを数日間取り組んでいますが、まだ理解していません。それぞれがラジオ ボタンといくつかのテキストで構成される 2 つの入力セットを持つ HTML ページがあります。私は欲しい:
- ページの読み込み時にすべてのテキスト入力を無効にする
- ラジオ ボタン #1 でテキスト入力を有効にし、ラジオ ボタン #2 のテキスト入力を無効にします
- ラジオ ボタン #2 でテキスト入力を有効にし、ラジオ ボタン #1 のテキスト入力を無効にします
コード例を次に示します。
<html>
<script type="text/vbscript">
<!--<![CDATA[
function enable()
if document.GetElementByID("radio1").checked then
document.GetElementByID("radio2").checked = false
document.GetElementByID("text1").disabled = false
document.GetElementByID("text2").disabled = true
elseif document.GetElementByID("radio2").checked then
document.GetElementByID("radio1").checked = false
document.GetElementByID("text1").disabled = true
document.GetElementByID("text2").disabled = false
else
document.GetElementByID("text1").disabled = true
document.GetElementByID("text2").disabled = true
end if
end function
-->]]>
</script>
<body onload="enable()">
<table border=1>
<tr>
<td>
<input type="radio" id="radio1" name="radio1" value="radio1" onclick="enable()">
<label for="radio1" >
Radio 1
</label>
</td>
<td>
<input type="text" id="text1" name="text1" value="hi">
</td>
</tr>
<tr>
<td>
<input type="radio" id="radio2" name="radio2" value="radio2" onclick="enable()">
<label for="radio2" >
Radio 2
</label>
</td>
<td>
<input type="text" id="text2" name="text2" value="bye">
</td>
</tr>
</table>
</body>
</html>
部分的には機能するようですが、完全には機能しないようです。最終的に、これはフォームとして HTA になります。
編集:
@kingdomcreation と @Teemu の両方のおかげで、任意の数のラジオ ボタンに対してこの実用的なソリューションを使用できるようになりました。
<html>
<script type="text/vbscript">
<!--<![CDATA[
function enable(num)
document.getElementById("text" & num).disabled = false
for i = 1 to 6
if document.getElementById("radio" & i).checked = false Then
document.getElementById("text" & i).disabled = true
end if
next
end function
-->]]>
</script>
<body>
<table border=1>
<tr>
<td>
<input type="radio" id="radio1" name="radio" value="radio1" onClick="enable(1)">
<label for="radio1" >
Radio 1
</label>
</td>
<td>
<input disabled type="text" id="text1" name="text1" value="hi">
</td>
</tr>
<tr>
<td>
<input type="radio" id="radio2" name="radio" value="radio2" onClick="enable(2)">
<label for="radio2" >
Radio 2
</label>
</td>
<td>
<input disabled type="text" id="text2" name="text2" value="there">
</td>
</tr>
<tr>
<td>
<input type="radio" id="radio3" name="radio" value="radio3" onClick="enable(3)">
<label for="radio3" >
Radio 3
</label>
</td>
<td>
<input disabled type="text" id="text3" name="text3" value="how">
</td>
</tr>
<tr>
<td>
<input type="radio" id="radio4" name="radio" value="radio4" onClick="enable(4)">
<label for="radio4" >
Radio 4
</label>
</td>
<td>
<input disabled type="text" id="text4" name="text4" value="are">
</td>
</tr>
<tr>
<td>
<input type="radio" id="radio5" name="radio" value="radio5" onClick="enable(5)">
<label for="radio5" >
Radio 5
</label>
</td>
<td>
<input disabled type="text" id="text5" name="text5" value="you">
</td>
</tr>
<tr>
<td>
<input type="radio" id="radio6" name="radio" value="radio6" onClick="enable(6)">
<label for="radio6" >
Radio 6
</label>
</td>
<td>
<input disabled type="text" id="text6" name="text6" value="bye">
</td>
</tr>
</table>
</body>
</html>