未捕获的ReferenceError-找不到函数

时间:2018-07-24 07:35:22

标签: javascript jquery html html5 jsp

我正在开发一个网站,以显示数据库中的数据。当我单击一行时,我尝试在其中进行网址调用。要调用url,单击行时我正在调用一个函数,但是该函数引发错误。

  

未捕获的ReferenceError:在以下位置未定义clickableRow   HTMLTableRowElement.onclick(((index):1)

这是我在编辑器视图中的代码:

<%@page import="java.sql.ResultSetMetaData"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.ResultSet"%>
<%
    /*
        ...
        Retrieving data of a database
    */
%>

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    </head>

    <body>
        <div id="query_result">
            <table id="table" >
                <thead>
                    <tr>
                        <% 
                            for(int i=1; i<=count; i++){
                                %><th class="mdl-data-table__cell--non-numeric"><%
                                    out.print(metaData.getColumnName(i));
                                %></th><%
                            }
                        %>
                    </tr>
                </thead>

                <tbody>
                    <%
                        while(resultSet.next()){%>
                        <tr onclick="rowClickable(this)" class="n_title"> //<--error is on this line
                               <%for(int i= 1; i<= count; i++){
                                    if(metaData.getColumnName(i).equals("PLANT")){
                                        %><td data-bind="${resultSet.getString(i)}"><%
                                            out.println("<a href='"+resultSet.getString(i)+"'>");
                                                out.println(resultSet.getString(i));
                                            out.println("</a>");
                                        %></td><%
                                    } else {
                                        %><td data-bind="${resultSet.getString(i)}"><%
                                            out.println(resultSet.getString(i));
                                        %></td><%
                                    }
                                }%>
                        </tr>
                        <%}
                    %>                
                </tbody>
            </table>
        </div>
        <script type="text/javascript">
            function rowClickable(x) {
                alert("Row index is: " + x.rowIndex);
            }
        </script>
    </body>
</html>

<%      connection.close();
    } 
    catch(Exception e){
        out.println("\n<P> SQL error: <PRE> " + e + " </PRE> </P>\n ");
    }
%>

这是我在浏览器视图中的代码:

    <!DOCTYPE html>
    <html>
        <head>
            <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        </head>

        <body>
            <div id="query_result">
                <table id="table" >
                    <thead>
                        <tr>
                            <th class="mdl-data-table__cell--non-numeric">PLANT</th><th class="mdl-data-table__cell--non-numeric">NAME</th><th class="mdl-data-table__cell--non-numeric">FILES</th>
                        </tr>
                    </thead>

                    <tbody>

                            <tr onclick="rowClickable(this)" class="n_title">//<-- error is on this line
                                   <td data-bind=""><a href='ABI'>ABI</a></td>
                            </tr>

                </tbody>
            </table>
        </div>
        <script type="text/javascript">
            function rowClickable(x) {
                alert("Row index is: " + x.rowIndex);
            }
            $("#")
        </script>
    </body>
</html>

我希望我的代码不会太乱:D。如果有人能解决我的问题,请先谢谢。

1 个答案:

答案 0 :(得分:1)

当脚本导入到主页而不是ajax调用的页面上时,问题解决了。