[英]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:TextBox
的id
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.