【问题标题】:yes no option with javascript delete function for a link是的,没有选项,带有用于链接的 javascript 删除功能
【发布时间】:2012-07-05 20:28:55
【问题描述】:

在第一页我有一个充满数据的表,每一行的末尾都有一个删除链接。当我单击该链接时,该链接转到另一个删除页面,其中 mysql 删除查询从数据库中删除该特定数据。该删除页面使用第一页(位置:1stpage)重定向。现在,当我想应用 javascript 删除是/否检查时,每次它都会弹出“你确定吗?”我按是或否,数据将从我的表中删除。我认为 return false 在这种情况下不起作用。代码在下面。请帮我看看我应该怎么做。

对不起,我的英语不好。 提前致谢。 第 1 页:

<?php
include "include.php";
?>

<script type="text/javascript">

function show_confirm()
{
var con = confirm("Are You Sure");
if (con ==true)
  {
  alert("You pressed OK!");
  }
else
  {
  alert("You pressed Cancel!");
  }
}


 </script> 
<table>
  <tr>
    <td align="center">EDIT OR DELETE DATA</td>
  </tr>
  <tr>
    <td>
      <table border="1">
      ?php
        if(isset($_POST['submit']))
        {
            $order = "UPDATE books SET author='$_POST[author]', title='$_POST[title]', price='$_POST[price]' WHERE isbn='$_POST[isbn]'";
            mysql_query($order) or die (mysql_error());
        }   

      $order = "SELECT * FROM books ORDER BY author" or die (mysql_error());
      $result = mysql_query($order);
      while ($row=mysql_fetch_array($result))
      {
        echo ("<tr>
                <td>$row[isbn]</td>
                <td>$row[author]</td>
                <td>$row[title]</td>
                <td>$row[price]</td>
                <td> <a href=\"editdata_form.php?isbn=$row[isbn]\"> Edit </a> </td>
                <td> <a href=\"delete.php?isbn=$row[isbn]\" onclick='show_confirm()'> Delete </a> </td>
              </tr>");
      }       

  ?>
      </table>
    </td>
   </tr>
</table>

运行mysql删除查询的页面:

<?php header("Location: editordeletedata.php"); ?>  
<p> <title>delete</title> </p>
<?php
include "include.php";
?>

<?php

if(isset($_GET['isbn']))
{
    $order = "DELETE FROM books WHERE isbn = '$_GET[isbn]'";
    mysql_query($order) or die (mysql_error());
}


?>

【问题讨论】:

    标签: php javascript


    【解决方案1】:

    看看我写的这个简单的代码sn-p,应该能搞定你。

    <html>
    <head>
    <script type="text/javascript">
    
    function show_confirm() {
        return confirm("Are You Sure");
    }
    </script>
    </head>
    <body>
        <a href="http://www.google.com" onclick='return show_confirm();'> Google </a>
    </body>
    </html>
    

    Fiddle

    【讨论】:

    • 我会多缩进一点,但这是一个很好的答案,+1
    • 正如您在另一个答案中评论的那样,要点是onclick 处理程序内的return,这样当函数返回false(当用户选择“取消”时)时,点击事件被取消。我还添加了一个小提琴,不得不用另一个示例页面替换 google,因为 google 是一个娘娘腔,而不是在 JSFiddle 的 iframe 中加载。 :)
    • yaapii!!!!.............它的派对时间:D:D......它正在工作。非常感谢亲爱的小提琴,非常感谢您的解释。它简短而有效。祝你今天过得愉快。 :)
    【解决方案2】:

    我看不出 return false 不起作用的任何原因。

    function show_confirm()
    {
        if (confirm("Are You Sure"))
        {
          alert("You pressed OK!");
        }
        else
        {
            alert("You pressed Cancel!");
            return false;
        }
    }
    

    【讨论】:

    • 更大的问题是“返回”值所需的 onclick:onclick="return show_confirm();"而不是 onclick="show_confirm();"
    • 感谢 codebins 的评论。是的,一切都是为了“回归”。
    【解决方案3】:

    禁用删除链接并将重定向移动到 javascript 函数。链接应如下所示:

    <a href=\"javascript:void(0)\" onclick='show_confirm($row[isbn])'> Delete </a> 
    

    而javascript函数是这样的:

    function show_confirm(isbn)
    {
    if (confirm("Are You Sure"))
      {
      alert("You pressed OK!");
      location.replace('delete.php?isbn='+isbn);
      }
    else
      {
      alert("You pressed Cancel!");
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-06
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      • 2013-06-26
      • 1970-01-01
      相关资源
      最近更新 更多