簡體   English   中英

javascript函數未在php文件中定義時出錯

[英]Error with javascript function not being defined in php file

我在這里看到了許多類似的問題,已經解決了這個問題,但我無法弄清楚為什么我的代碼會產生這個錯誤:editRow()沒有定義,因為我已經按照其他問題所說的一切。 我想打開一個彈出窗口,在php中編輯crud表中的一行。 我試圖將函數放在文件的頭部,但沒有任何改變。

<!DOCTYPE HTML PUCLIC "-//W3C//DTDHTML 4.0 Transitional//EN">
<HTML>
<HEAD>
    <TITLE>LIBRARY DATABASE</TITLE>
    <link rel="stylesheet" type="text/css" href="tablestyle.css">
    <link rel="stylesheet" type="text/css" href="style.css">
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
            var newObj = { 
                        width: 900, 
                        height: 460, 
                        editable: false,
                        pageModel: { type: "local", rPP: 15, rPPOptions: [10, 15, 20, 50, 100] },
                        flexHeight: true,
                        title: "Companies listed on the <b>NASDAQ</b>",
                        freezeCols: 1,
                        resizable: true,            
                        editModel: { clicksToEdit: 2 },
                        selectionModel: { mode: 'single', type: 'row' }
                     };

                  var $grid = $("#grid_crud").pqGrid(newObj);
                    //create popup dialog.
                    $("#popup-dialog-crud").dialog({ width: 400, modal: true,
                     open: function () { $(".ui-dialog").position({ of: "#grid_crud" }); },
                     autoOpen: false
                    });
                 function getRowIndx() {
                        var arr = $grid.pqGrid("selection", { type: 'row', method: 'getSelection' });
                        if (arr && arr.length > 0) {
                            return arr[0].rowIndx;                                
                        }
                         else {
                            alert("Select a row.");
                            return null;
                        }
                 }
                function editRow() {
                    var rowIndx = getRowIndx();
                    if (rowIndx != null) {

                        var row = $grid.pqGrid('getRowData', {rowIndx: rowIndx});

                        var $frm = $("form#crud-form");
                        $frm.find("input[name='memberID']").val(row[0]);
                        $frm.find("input[name='MFirst']").val(row[1]);
                        $frm.find("input[name='MLast']").val(row[3]);
                        $frm.find("input[name='Street']").val(row[4]);
                        $frm.find("input[name='number']").val(row[5]);
                        $frm.find("input[name='postalCode']").val(row[6]);
                        $frm.find("input[name='Mbirthdate']").val(row[7]);

                        $("#popup-dialog-crud").dialog({ title: "Edit Record (" + (rowIndx + 1) + ")", buttons: {
                            Update: function () {
                                //update row.
                                var row = [];
                                row[0] = $frm.find("input[name='memberID']").val();
                                row[1] = $frm.find("input[name='MFirst']").val();
                                row[3] = $frm.find("input[name='MLast']").val();
                                row[4] = $frm.find("input[name='Street']").val();
                                row[5] = $frm.find("input[name='number']").val();
                                row[6] = $frm.find("input[name='postalCode']").val();
                                row[7] = $frm.find("input[name='Mbirthdate']").val();

                                $grid.pqGrid('updateRow', { rowIndx: rowIndx, row: row, checkEditable: false });

                                $(this).dialog("close");
                            },
                            Cancel: function () {
                                $(this).dialog("close");
                            }
                        }
                        }).dialog("open");
                    }
                }
        </script>
</HEAD>
<div class="navbar">
                <a href="mydatabase.php">Home</a>
                <a href="member_table.php">Member</a>
                <a href="book_table.php">Book</a>
                <a href="borrows_table.php">Borrows</a>
              </div>
              <br><br>
              <div class="navbar">
                    <a href="insert.php">Insert</a>
                    <a href="update.php">Update</a>
                    <a href="delete.php">Delete</a>
                  </div>

    <TABLE class="minimalistBlack">
        <thead>
        <tr>
        <th> memberID </th>
        <th> First Name </th>
        <th> Last Name </th>
        <th> Street </th>
        <th> Number </th>
        <th> Postal Code </th>
        <th> Birthdate </th>
        <th> Update </th>
        </tr>
        </thead>
        <?php 
            $conn= mysqli_connect("localhost","root","","library");
            if ($conn -> connect_error){
                die("Conenction failed:". $conn->connect_error);
            }
            $sql="SELECT memberID,MFirst,MLast,Street,number,postalCode,Mbirthdate FROM member";
            $result = $conn->query($sql);
            if ($result->num_rows>0){

                while($row= $result->fetch_assoc()){
                    echo "<tr>";
                    echo "<td>".$row['memberID']."</td>";
                    echo "<td>".$row['MFirst']."</td>";
                    echo "<td>".$row['MLast']."</td>";    
                    echo "<td>".$row['Street']."</td>"; 
                    echo "<td>".$row['number']."</td>"; 
                    echo "<td>".$row['postalCode']."</td>"; 
                    echo "<td>".$row['Mbirthdate']."</td>"; 
                    echo "<td><a href='#' onclick='editRow()'>Edit </a>
                     | <a href=\"deletefmtable.php?memberID=$row[memberID]\" onClick=\"return confirm('Are you sure you want to delete?')\">Delete</a></td>";  
                }
                echo "</TABLE>";
            }
            else { echo "0 result"; }
            $conn->close();
         ?>
    </TABLE>
</HTML>

不確定,但您的文檔沒有<body>標記,因此可能會出現問題。

您還需要分離jquery腳本和自定義js的加載。 所以:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script>//Your custom scripts</script>

您不能將腳本代碼放在具有src屬性的<script>標記內。 您需要兩個單獨的標記,一個用於加載jQuery ,另一個用於加載腳本。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
... your code here
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM