さまざまなチェックボックスとテキスト ボックスを含むページにかなり長いフォームがあります。対応するチェックボックスにチェックが入っている場合に、テキスト ボックスを使用できるようにするポイントが 1 つあります。私はほとんどこのコードで動作しています:
<tr class= "formspace">
<td class="formleft" valign="top" style="line-height:22px">Extra bed(s)?</td>
<td colspan="2"><input name="extrabed" type="checkbox" value="1" onChange="jsextrabed()"><?php echo $lang["extraadultx"]." ".$lang["notsingleoccx"];?>
<div id="extrabednumber"></div>
<script type="text/javascript">
function jsextrabed() {
if(document.roomnew.extrabed.checked == 1) {
document.getElementById("extrabednumber").innerHTML=' Max number of extra beds <input name="extrabed" type="text" id="extrabed" size="1" maxlength="1" value="1">';
}else{
document.getElementById("extrabednumber").innerHTML=' Max number of extra beds <input name="extrabed" type="text" id="extrabed" size="1" maxlength="1" value="0">';
}
}
</script>
</td>
</tr>
ページが最初に開いたときは、チェックボックスのみが表示されます。
チェックボックスをオンにすると、テキスト ボックスが値 1 で開きます。
もう一度クリックすると、チェックボックスがオフになり、テキスト ボックスの値が 0 に変わります。それでも問題ありません。
もう一度クリックすると、チェックボックスがチェックされます (良い) が、テキスト ボックスの値は 0 のままです (悪い!)。
さらにクリックすると、チェックボックスが切り替わりますが、テキスト ボックスの値には影響しません。
私は何を間違えましたか?