我在contentplaceholder上有来自asp.net的复选框和文本框控件。我想调用javascript函数,以根据复选框的选中状态启用文本框控件。我为此编写了以下javascript代码-

checkbox & textbox的名称分别呈现给浏览器ctl00$ContentPlaceHolder1$chkCall, ctl00$ContentPlaceHolder1$txtCall之后

function chkChanged() {
           try {

           var echk = document.getElementsByName('ctl00$ContentPlaceHolder1$chkCall');
           var etxt = document.getElementsByName('ctl00$ContentPlaceHolder1$txtCall');

           if (echk.Checked) {

               etxt.Enabled = true;
           }
           else {
               etxt.Enabled = false;
               etxt.Text = "";
           }
           return true;
           }
       catch (err) {
           alert(err.Message);
           return false;
       }
       }


当我执行上述脚本时,它会调用函数,但代码不适用于控件。而且它不会引发任何异常。

上面的脚本有什么问题?

谢谢。

最佳答案

请改用以下脚本:

var echk = document.getElementById("<%= chkCall.ClientID %>");
var etxt = document.getElementById("<%= txtCall.ClientID %>");

09-11 19:51