Document.GetElementByID为gridview {...}返回undefined [英] Document.GetElementByID returning undefined for gridview {...}
问题描述
我正在处理一个包含母版页的页面。我在页面中有一个gridview,在其中我动态填充单选按钮。单击按钮的单击事件我正在调用其他文件中的javascript函数。
< asp:GridView AutoGenerateColumns = 错误 AllowSorting = false 宽度 = 100% ID = 列表 runat < span class =code-keyword> = ser ver AllowPaging = false GridLines = 无 ShowHeader = 错误 > ;
< 列 >
< asp:TemplateField ItemStyle-HorizontalAlign = 左 >
< ItemTemplate >
< asp:RadioButton ID = 条件 < span class =code-attribute> 宽度 = 1px runat = server GroupName = SelectCriteria onclick = javascript:ValidateMultipleCheck(this,'CPH_List'); / >
< asp:HiddenField ID = hdn runat = 服务器 值 =' <% #DataBinder。 Eval(Container.DataItem, Key)%>' / > >
< / ItemTemplate >
< / asp:TemplateField >
< asp:BoundField DataField = 值 ItemStyle-HorizontalAlign = 左 / >
< /列 >
< < span class =code-leadattribute> / asp:GridView >
function ValidateMultipleCheck(control,gridName){
var controlId = control.id;
var Parent = document .getElementById(gridName);
for (i = 0 ; i< Parent.rows.length; i ++){
var tr = Parent.rows [i];
var td = tr.childNodes [ 0 ]。childNodes [ 0 跨度>];
var item = td.firstChild;
if (item!= null && item.id!= controlId& & item.type == radio){
if (item.checked){
item.checked = false ;
}
}
}
}
当我点击单选按钮时,在javascript函数中,虽然我正确地传递了值,但是var Parent的值显示为{...},后来因为无法获取未定义或空节点的firstchild而终止执行。
请告诉我这里缺少的东西。
检查网格视图客户端id use可以写
Response.Write(List.ClientID);
<在aspx页面加载时,lang =text>获取该ID后,
将其传递给'CPH_List'
I am working on a page which has a master page. I have a gridview in the page and inside it I am dynamically populating radio buttons. OnClick event of radio button I am calling a javascript function which is in some other file.
<asp:GridView AutoGenerateColumns="False" AllowSorting="false" Width="100%" ID="List" runat="server" AllowPaging="false" GridLines="None" ShowHeader="False">
<Columns>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:RadioButton ID="Criteria" Width="1px" runat="server" GroupName="SelectCriteria" onclick="javascript:ValidateMultipleCheck(this,'CPH_List');" />
<asp:HiddenField ID="hdn" runat="server" Value='<%# DataBinder.Eval (Container.DataItem, "Key") %>' />>'
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Value" ItemStyle-HorizontalAlign="Left" />
</Columns>
</asp:GridView>
function ValidateMultipleCheck(control, gridName) {
var controlId = control.id;
var Parent = document.getElementById(gridName);
for (i = 0; i < Parent.rows.length; i++) {
var tr = Parent.rows[i];
var td = tr.childNodes[0].childNodes[0];
var item = td.firstChild;
if (item != null && item.id != controlId && item.type == "radio") {
if (item.checked) {
item.checked = false;
}
}
}
}
While I click on the radio buttons, in the javascript function, though I am getting the values passed correctly but the var Parent's value is showing as {...} and later terminating the execution as unable to get firstchild for undefined or null node.
Please let me know what I am missing here.
To check the grid view Client id use can write
Response.Write(List.ClientID);
on aspx page load , after getting that id, pass it in place of 'CPH_List'
这篇关于Document.GetElementByID为gridview {...}返回undefined的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!