选中复选框时,如何禁用文本框并使用纯JavaScript清除值

时间:2014-10-10 11:55:57

标签: javascript checkbox

我有一个复选框和一行输入文本。我希望当用户选中复选框以显示文本并清除其值时。

我尝试了这个,但没有: 有什么问题?

HTML:

  <span style="width: 200px;font-size: 80%;"><input id="chkSendSummary" type="checkbox" name="ctl03$ctl00$ctl00$chkSendSummary" onclick="checkSendSummaryLetter();"></span>    
<input name="ctl03$ctl00$ctl00$txtSendSummary" type="text" id="txtSendSummary" class="NormalTextBox" style="width: 170px;">                 

  var chkSendSummaryLetter=document.getElementById('chkSendSummary');
    var txtSendSummaryLetter=document.getElementById('txtSendSummary');
            if (chkSendSummaryLetter.checked) {
                txtSendSummaryLetter.enabled = true;
            } else { 
                txtSendSummaryLetter.value = "";
                txtSendSummaryLetter.enabled = false;

            }

2 个答案:

答案 0 :(得分:2)

您已创建自定义属性enabled,这对DOM没有影响。请改用disabled

if (chkSendSummaryLetter.checked) {
    txtSendSummaryLetter.disabled = false;
} else { 
    txtSendSummaryLetter.value = "";
    txtSendSummaryLetter.disabled = true;
}

答案 1 :(得分:0)

<script type="text/javascript">

var chkSendSummaryLetter=document.getElementById('chkSendSummary');
var txtSendSummaryLetter=document.getElementById('txtSendSummary');
        if (chkSendSummaryLetter.checked) {
            txtSendSummaryLetter.value = "";
        hide();
        }
if
function hide() {
    document.getElementById('txtSendSummary').style.display = 'block';
}
</script>

这篇文章已经存在:(通过谷歌在2秒内找到) javascript hide/show element

你可以在函数中添加一个参数,使其具有多种用途

相关问题