【问题标题】:Confirm before delete删除前确认
【发布时间】:2015-11-01 13:42:25
【问题描述】:

下面我想在删除记录之前确认,这里的问题是我是否从确认框中选择确定或取消记录都被删除了,其次我在删除后没有被重定向到我需要的页面。

<script type="text/javascript">
function ConfirmDelete(){
if (confirm("Delete Account?")){
      window.location='mains.php';
}
else {
   // do nothing
}
}
</script>

if(isset($_POST['submit'])){
$que=$db->prepare("DELETE FROM blogs WHERE id = :id");
$que->execute(array(':id'=>$postId));
}

<form method="POST">  
<input type="submit" name="submit" value="Delete" onclick="ConfirmDelete()" />
</form>

【问题讨论】:

  • 你可以AJAXify这个过程,然后JS会更容易做。

标签: javascript php confirm


【解决方案1】:

所以基本上delete 按钮将提交表单 我们可以把表单的html代码改成

<form action="mains.php" method="POST" onsubmit="return ConfirmDelete()">  
    <input type="submit" name="submit" value="Delete"  />
</form>

和ConfirmDelete函数

function ConfirmDelete(){
    if (confirm("Delete Account?")){
          return true;
    }
    else {
       alert('sorry');
       return false;
    }
}  

【讨论】:

  • 你从哪里得到$postId?并尝试在if(isset($_POST['submit'])){ 之后回显$postId
  • 这没什么错,因为没有 javascript 确认的单独 php 运行良好,,
  • 尝试在if(isset($_POST['submit'])){ 之后回显任何字符串以检查是否设置了$_POST['submit']
【解决方案2】:

通常我会在表单上添加一个“操作”,然后返回 false;在我的 javascript 中:

<form action="mains.php" method="POST" onclick="ConfirmDelete()">  
<input type="submit" name="submit" value="Delete" />
</form>

然后是js:

function ConfirmDelete() { 
    if (confirm("Delete account?")) {
        return true;
    }
    return false;
}

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多