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

时间:2015-09-18 07:58:03

标签: javascript asp.net

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

  

0x800a138f - JavaScript运行时错误:无法获取属性'cells'   未定义或空引用

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>

enter image description here

1 个答案:

答案 0 :(得分:0)

这是txt.value的作业,因此我认为您的错误与txt.value的原始值无关。原因可能是您row+2的值大于整行数。因此tbl.rows[row + 2]获得undefined