Javascript对象要求错误
本文关键字:错误 对象 Javascript | 更新日期: 2023-09-27 18:03:41
在我的aspx页面中,我有两个单选按钮和一个表。如果选中其中一个单选按钮,则应该使表可见,而另一个选中不可见。但这一行给了我一个"JS对象所需"。我从后面的代码发射这个。cs…它可以正常运行,但是我得到了那个错误。
document.getElementById('tblnewpackinglogo').style.display = '';
见下面的代码
JAVASCRIPT<script language="javascript" type="text/javascript">
function ShowImage() {
var rdoImg = document.getElementById("<%=radImage.ClientID%>");
if (rdoCurrImage2.checked == true) {
document.getElementById('tblnewpackinglogo').style.display = 'none';
}
else {
document.getElementById('tblnewpackinglogo').style.display = '';
}
}
</script>
表 <table id="tblImage" border="0" cellpadding="0" cellspacing="10" runat="server"
visible="true">
<tr>
<td>
<asp:Image ID="imgLogo" runat="server" />
</td>
<td>
<div class="FieldStyle">
Select an Option</div>
<asp:RadioButton ID="radImage"
Text="Keep Current Image"
runat="server"
GroupName="LogoImage"
OnCheckedChanged="radImage_CheckedChanged"
Checked="True" />
<asp:RadioButton ID="radNewImage"
Text="Upload New Image" runat="server"
GroupName="LogoImage"
OnCheckedChanged="radNewImage_CheckedChanged" />
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<table id="tblnewpackinglogo" border="0" cellpadding="0" cellspacing="0" width="100%"
runat="server" style="display:none;">
<tr>
<td style="height: 41px">
<div class="Style">
Select a Logo Image</div>
<div class="ValueStyle">
<asp:FileUpload ID="UploadImage"
runat="server"
Width="300px" />
</div>
</td>
</tr>
</table>
您可能需要获取表的名称混淆的ClientID
:
document.getElementById('<%= tblnewpackinglogo.ClientID %>').style.display = '';
你已经使用了上面的单选按钮。
同样,如果您从代码隐藏文件注入脚本,那么您仍然需要使用ClientID
,因为JavaScript将在客户端运行。
这个错误意味着某种形式的(null or undefined expression).someproperty
正在发生。在null
/undefined
上自然没有someproperty
。对于行:
document.getElementById('tblnewpackinglogo').style.display = '';
最有可能的问题是getElementById
返回undefined
,如果在调用时没有id为tblnewpackinglogo
的元素,则会导致此问题。
既然有一个tblnewpackinglogo
然后-除非FishBasketGordo的答案是正确的-我怀疑问题可能是ShowImage
被调用之前DOM已加载。或者是另一个与上面的帖子不一致的小错误。
检查实际HTML以查看生成的内容,并使用FireBug等工具手动尝试getElementById
。FireBug和MS Script Debugger都提供了更详细的调试支持来检查异常发生时的状态。
快乐编码。