0

如何< a >为设置隐藏字段的 Javascript 函数 Javascript 传递标签的 USER_ID?

我尝试了 Javascript 函数showConfirm(),但没有填充隐藏字段。它保持为空......我认为 field 的 onClick 属性deleteid写错了。

我想用 javascript 填写这个字段。我怎样才能?

错误消息说

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '' 附近使用正确的语法

可能是因为隐藏字段"id_action"没有接收到函数的数据。

无论如何,主要问题是showConfirm通过参数'show', $row['id']为隐藏字段设置功能id_action

           <script>

            function showConfirm (action, delID) {
              if (action == 'show') {
                document.confirm.id_action.value = delID;
              }
            }
            </script>


             <tbody>
               <?php
                   if (!empty($_POST)) {
               if (isset($_POST['id_action'])) {
                $del_id   = $_POST['id_action'];
                    $delUser  = new User;
                    $delUser->deletarUsuario($del_id);
                    unset($delUser);
                }
            }
                 $listUser    = new User;
                 $result     = $listUser->listarUsers();
                 if (is_array($result)) {
                  foreach ($result as $row) {
                    echo "
                     <tr>
                       <td align='right'>" . $row['id'] . "</td>
                          <td>". $row['name'] . " ".$row['sobrename']."</td>
                          <td>" . $row['email'] . "</td>
                          <td>" . $row['login'] . "</td>
                          <td>
                              <a data-toggle='modal' id='deleteid' data-target='#modal_delUser' onclick=\"showConfirm('show'," . $row['id'] . ")\">
                              Remove
                              </a>
                          </td>
                     </tr>"; 
                  }
                } 
                unset($listUser);
              ?>
             </tbody>


                     <!-- Button trigger modal -->
              <div class='modal fade' id='modal_delUser' tabindex='-1' role='dialog' aria-labelledby='modal_delUserLabel' aria-hidden='true'>
              <div class='modal-dialog'>
                <div class='modal-content panel-danger'>
                  <div class='modal-header panel-heading'>
                    <button type='button' class='close' data-dismiss='modal' aria-hidden='true'>&times;</button>
                    <h4 class='modal-title' id='modal_delUserLabel'>The user will be deleted</h4>
                  </div>
                  <div class='modal-body'>
                    Are you sure continue?
                  </div>
                   <div class="modal-footer">
                    <form role="form" id="confirm" action="users.php" method="post">

                      <input type="hidden" name="id_action">  

                      <button type="button" class="btn btn-default" data-dismiss="modal">No</button>
                      <button type="submit" class="btn btn-danger">Yes</button>
                    </form>
                  </div>
                </div>
              </div>
            </div>

这是我从查询中生成的 SQL

public function deletarUsuario($id) {
    $del_id     = $this->db->real_escape_string(trim($id));
    if ($update = $this->db->query("DELETE FROM usuario WHERE id = $del_id")) {
        if ($this->db->affected_rows) {
            echo "<div><p>Deleted user!</p></div>";
        }
        else {
            echo "<div><p>Failed to delete user.</p></div>";
        }

    }
    else {
        echo "<div><p>". $this->db->error."</p></div>";
                echo "<script>$('#modal_erroBD').modal('show');</script>";
    }

}
4

1 回答 1

0

在 php 中使用$id_action = $_POST["id_action"]

检查您是否在此阶段传递了 id:

改变

             if (isset($_POST['id_action'])) {
                $del_id   = $_POST['id_action'];
                    $delUser  = new User;
                    $delUser->deletarUsuario($del_id);
                    unset($delUser);
             }

             if (isset($_POST['id_action'])) {
                $del_id   = $_POST['id_action'];
                    echo $del_id;
             }
于 2014-02-08T23:18:37.457 回答