TypeError:无法在javascript中读取null的属性'style'?

时间:2014-03-14 07:42:39

标签: javascript asp.net

我有一个复选框和文本框。选中复选框后,文本框可见,我想要。但是我有一些错误

<asp:CheckBox  type="checkbox" runat="server" ID="chkAnswer2" onClick="openclose(this.checked, 'txtquestionAnswer1');" />

<asp:TextBox id="txtquestionAnswer1" Visible="false" style="resize:none;"  TextMode="multiline" Columns="50" Rows="5" runat="server" />

和java脚本部分:

function openclose(check, id) {
        if (check)
            document.getElementById(id).style.display = 'block';
        else
            document.getElementById(id).style.display = 'none';

但我有这个错误: TypeError:无法读取属性&#39; style&#39;为null

如何解决这个问题?

感谢您的回答

2 个答案:

答案 0 :(得分:2)

您提供id的{​​{1}}不是客户端上的ID;这是asp:TextBox。所以:

ClientID

答案 1 :(得分:0)

asp.net在将它们翻译为普通html时为元素生成新的id。

你有两个选择:

设置clientIdMode =“static”以保持您设置的相同ID,

或使用预处理程序指令指示visual studio获取新生成的id insead:

"#<%= chkAnswer2.ClientID%>"