我在gridview中使用了一個用於radiobtn檢查的JavaScript代碼。該代碼在Firefox瀏覽器中正常工作。但在IE瀏覽器(IE)的代碼不工作,錯誤表示JavaScript沒有實現。我的JavaScript代碼在Internet Explorer中未執行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 ['and script of end tag of script:'''']]>''。這能解決問題嗎? IE瀏覽器可能會遇到困難,如果你不把它放在那裏......哦,一個方便的方式來「調試」JavaScript代碼是把警報語句提醒變量的內容。如果您看到彈出的消息框並且該值正確,則錯誤會在您的函數中進一步發生。將多個警報(如alert(item [i])放在for循環中,並將一個警報放在if語句中)以查看它出錯的位置。 – MarioDS 2012-04-09 07:53:38
您正在使用的IE版本是 – Pranav 2012-04-09 07:54:28
即8。我在document.getelementId()之前使用了警告框。後數據它顯示D相同沒有實施錯誤 – kk1076 2012-04-09 08:04:52