我在带有各种复选框和文本框的页面上有一个相当长的表单。如果勾选了相应的复选框,我希望有一个文本框可用。我几乎可以使用以下代码:
<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(坏!)。
进一步单击会切换复选框,但对文本框中的值没有影响。
我做错了什么?