Ошибка с функцией javascript, не определенной в файле php - PullRequest
0 голосов
/ 20 мая 2019

Я видел много подобных вопросов здесь, которые решили эту проблему, но я не могу понять, почему мой код вызывает эту ошибку: editRow () не определен, так как я следовал всем остальным вопросам.Я хочу открыть всплывающее окно, чтобы отредактировать строку в таблице crud в php.Я попытался поместить функции в начало файла, но ничего не изменилось.

<!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>

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Нельзя поместить код скрипта в тег <script>, имеющий атрибут src.Вам нужны два отдельных тега: один для загрузки 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>
0 голосов
/ 20 мая 2019

Не уверен, но в вашем документе нет тега <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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...