我在GridView中使用了一个用于单选按钮检查的JavaScript代码。该代码在火狐浏览器中运行良好,但在Internet Explorer(IE)中无法正常工作,并显示JavaScript未实现的错误。我的JavaScript代码如下:
<script type="text/javascript">
function CheckOtherIsCheckedByGVID(rb) {
var isChecked = rb.checked;
var row = rb.parentNode.parentNode;
if (isChecked) {
row.style.backgroundColor = '#C4DFFB';
row.style.color = 'black';
}
var currentRdbID = rb.id;
parent = document.getElementById("<%= grdEventDetails.ClientID %>");
var items = parent.getElementsByTagName('input');
for (i = 0; i < items.length; i++) {
if (items[i].id != currentRdbID && items[i].type == "radio") {
if (items[i].checked) {
items[i].checked = false;
items[i].parentNode.parentNode.style.backgroundColor = 'white';
items[i].parentNode.parentNode.style.color = '#696969';
}
}
}
}
</script>
我在GridView代码中的实现是
<asp:TemplateField>
<ItemStyle HorizontalAlign="Left" />
<ItemTemplate>
<asp:RadioButton ID="grdRdo" runat="server"
onclick="javascript:CheckOtherIsCheckedByGVID(this);" />
</ItemTemplate>
</asp:TemplateField>
//<![CDATA[
后面加上这个://]]>
。这样做可以解决问题吗?如果不这样做,IE可能会遇到困难...哦,调试JavaScript代码的一个方便方法是将警报语句放置在警报变量内容中。如果您看到消息框弹出并且值正确,则错误发生在函数中。在for循环中放置多个警报(例如alert(item[i])和if语句中的一个)以查看它在哪里出错。 - MarioDS