繁体   English   中英

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

[英]TypeError: Cannot read property 'style' of null in javascript?

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

<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:无法读取null的属性'style'

如何解决这个问题?

谢谢你的回答

你给asp:TextBoxid asp:TextBox不是它在客户端上的ID; 这是ClientID 所以:

<asp:CheckBox  type="checkbox" runat="server" ID="chkAnswer2" onClick="openclose(this.checked, '<%= txtquestionAnswer1.ClientId %>');" />
<!-- Change is here ---------------------------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  -->

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

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

你有2个选择:

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

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

"#<%= chkAnswer2.ClientID%>"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM