如何使用放置在contentplaceholder中的asp.net复选框控件的javascript函数?

时间:2011-11-28 12:58:14

标签: javascript asp.net checkbox contentplaceholder

我在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;
       }
       }

当我执行上面的脚本然后它调用函数但代码不适用于控件。并没有任何例外。

以上脚本有什么问题?

感谢。

2 个答案:

答案 0 :(得分:3)

getElementsByName返回一个元素数组(复数)尝试使用getElementById来获取单个元素,这可能是你想要的,因为你正在检查echk.Checked ==是否正确。在你的情况下,echk是一个数组,而不是一个复选框。

答案 1 :(得分:2)

请改用此脚本:

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