繁体   English   中英

无法获取未定义或空引用的属性“单元格”

[英]Unable to get property 'cells' of undefined or null reference

我在javascipt中遇到错误。当txtname的文本等于tbl.rows [row + 2] .cells 1 .innerText时,它显示错误,但是如果txtname中的值不等于它,则可以替换txtname的值。 我尝试在分配内部文本之前清空txtname的值,但是仍然出现相同的错误..希望我可以在这里得到一些提示。

0x800a138f-JavaScript运行时错误:无法获取未定义或空引用的属性“单元格”

function setSearch(row) {
  var tbl = document.getElementById("<%=MultiSelectGridView1.ClientID%>");
  var txt = document.getElementById("<%=txtName.ClientID%>");

  txt.value = tbl.rows[row + 2].cells[1].innerText;

  $find("BtnSearch2").hide();
}


 <grd:MultiSelectGridView ID="MultiSelectGridView1" runat="server" Width="500px" 
                CssClass="paging_gridview" AllowPaging="True" 
                AutoGenerateColumns ="false" PageSize="10" PagerType="Custom"  
                DataKeyNames="Urid,Name" OnPageIndexChanging="MultiSelectGridView1_PageIndexChanging"
                MultiSelectDataKeyName="Urid,Name" ShowHeaderWhenEmpty="true"
                MultiSelectColumnIndex="0" EnableMultiSelect="false" OnRowDataBound="GridView_RowDataBound"
                >
            <HeaderStyle CssClass="paging_gridview_hdr" />
                <AlternatingRowStyle CssClass="paging_gridview_aitm" />
                <RowStyle CssClass="paging_gridview_itm" />
                <PagerStyle CssClass="paging_gridview_pgr" HorizontalAlign="Right" />
                <PagerSettings Position="TopAndBottom" />
            <EmptyDataTemplate>
            No data to display
            </EmptyDataTemplate>
            <Columns>
                <asp:TemplateField HeaderText="No" >
                    <ItemTemplate>
                            <%# (Container.DataItemIndex + 1) %>
                    </ItemTemplate>
                    <ItemStyle Width="20" HorizontalAlign="Right" />
                    <HeaderStyle Width="20" />
                </asp:TemplateField>
                 <asp:TemplateField HeaderText="Name" HeaderStyle-Width="430" >
                    <ItemTemplate>
                        <%# Eval("Name") %>    
                    </ItemTemplate>
                </asp:TemplateField>


                <asp:BoundField HeaderText="Urid" DataField="Urid" HeaderStyle-Width="50" ItemStyle-Width="50" Visible="false"  />
            </Columns>
        </grd:MultiSelectGridView>

在此处输入图片说明

这是txt.value的赋值,所以我认为您的错误与txt.value的原始值txt.value 原因可能是您的row+2值大于行的总数。 所以tbl.rows[row + 2]变得undefined

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM