KyLim0211 Ответов: 3

Не удается прочитать свойство 'rows' ошибки null java script


<script type="text/javascript">
        function Search_Gridview(strKey, strGV) {
            var strData = strKey.value.toLowerCase().split(" ");
            var tblData = document.getElementById(strGV);
            var rowData;
            for (var i = 1; i < tblData.rows.length; i++) {
                rowData = tblData.rows[i].innerHTML;
                var styleDisplay = 'none';
                for (var j = 0; j < strData.length; j++) {
                    if (rowData.toLowerCase().indexOf(strData[j]) >= 0)
                        styleDisplay = '';
                    else {
                        styleDisplay = 'none';
                        break;
                    }
                }
                tblData.rows[i].style.display = styleDisplay;
            }
        }    
    </script>


HTML
<div style="border: 1px solid Black; width: 800px; padding: 20px; height: 350px;
            font-size: 20px;">
            Search :
            <asp:TextBox ID="txtSearch" runat="server" Font-Size="20px" onkeyup="Search_Gridview(this, 'gvTest')"></asp:TextBox><br />
            <br />
            <asp:GridView ID="gvTest" runat="server" OnPageIndexChanging="GrdRole_PageIndexChanging" PageSize="10000">
                <columns>
               <asp:TemplateField>
                <ItemTemplate>
                    <asp:CheckBox ID="chkSelect" runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
            </columns>
            </asp:GridView>
        </div>


я получаю ошибку в --&ГТ; для (ВАР я = 1; я &л; tblData.строк.длина; я++) "Gridview_Search.aspx страниц:171 непойманные ошибку TypeError: не удается прочитать свойство 'строки' нулевых"

Что я уже пробовал:

пожалуйста, направьте меня, не знаю, где я сделал что-то не так,Спасибо..

3 Ответов

Рейтинг:
7

Karthik_Mahalingam

попробуйте использовать Client ID

function Search_Gridview(strKey) {
          var strGV = '<%= gvTest.ClientID %>';


huicho

Отличный!!!

Рейтинг:
1

Patrice T

Просто, сообщение говорит вам, что
переменная типа null не иметь собственности rows
это означает, что tblData является null и это

var tblData = document.getElementById(strGV);

провалившийся.

Научитесь использовать отладчик, чтобы увидеть, что добавляется в коде.


KyLim0211

onkeyup= "Search_Gridview (this, 'gvTest')"

что-нибудь не так? мой идентификатор gridview-gvTest

Рейтинг:
0

Raj Champaneriya

Используйте свойство clientId вместо жестко закодированного текста как asp.net будет генерироваться другой идентификатор.

< script type= "text/javascript">
var gvTestClientId = '<% =gvTest. ClientID %>';
< / script>

onkeyup= " Search_Gridview (this, gvTestClientId)"


KyLim0211

uncaught SyntaxError: неожиданный токен <
получаю эту ошибку