在我的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>
TABLES
<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>
答案 0 :(得分:1)
您可能需要获取表格中名称错误的ClientID
:
document.getElementById('<%= tblnewpackinglogo.ClientID %>').style.display = '';
你已经使用上面的单选按钮进行了这项工作。
此外,如果您从代码隐藏文件中注入脚本,那么您仍然需要使用ClientID
,因为JavaScript将在客户端运行。
答案 1 :(得分:0)
该错误意味着正在发生(null or undefined expression).someproperty
形式的某些事情。当然,someproperty
/ null
上没有undefined
。对于这一行:
document.getElementById('tblnewpackinglogo').style.display = '';
问题很可能是getElementById
正在返回undefined
,如果当时没有名为tblnewpackinglogo
的元素会导致该问题它被调用了。
由于存在tblnewpackinglogo
- 除非FishBasketGordo的答案是正确的 - 我怀疑问题可能是在加载DOM之前调用ShowImage
。无论是那还是另一个与上述帖子不一致的琐碎错误。
检查实际HTML 以查看生成的内容,并使用FireBug等工具手动尝试getElementById
。 FireBug和MS Script Debugger都提供了更详细的调试支持,以便在异常时检查状态。
快乐的编码。