我有一個相當長的形式在一個頁面上的各種複選框和文本框。有一點我想要一個文本框變得可用,如果勾選了相應的複選框。我幾乎可以使用此代碼:使用Javascript更改HTML代碼。不太工作
<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(壞!)。
進一步單擊切換複選框,但對文本框中的值沒有影響。
我做錯了什麼?
什麼是'document.roomnew'?我想一些'
這真的是需求,但是如果用戶保持預期的行爲複選框未被選中,並在文本框中添加一個非零的數字?不需要在不需要時隱藏文本框? – 2012-07-18 11:58:57