JavaScript弹出框无法正常工作。

3

我在使用这个脚本时出现了问题。当我点击“是”,它会删除用户,这没问题。但是我的问题是当我点击“取消”时它仍然会删除用户。你有什么想法吗?

<script>
function myFunction() {
    var x;
    if (confirm("Are You Want To Delete This User ?") == true) {
        x = "delete.php";
    } else {
        x = "memberlist.php";
    }
    document.getElementById("demo").innerHTML = x;
}    
</script>

1
你可能需要展示更多的代码,因为这段代码只是让一个盒子(#demo)包含字符串"delete.php"或"memberlist.php"。根据你现在所拥有的,看起来还不错。同时,在条件语句中使用== true是多余的。 - arcyqwerty
这部分 JavaScript 代码正常运行。 - Andrew Surzhynskyi
@arcyqwerty 可能与此无关,但 == true 可能是代码风格要求。不过应该改为 === true - Halcyon
抱歉,我无法理解。您能纠正一下吗? - Soap Mactavish
不,我想从数据表中删除用户。我使用它来减少错误。但是我不知道为什么当我按取消时它仍然会删除。 - Soap Mactavish
显示剩余3条评论
3个回答

1
提到的 JavaScript 运行良好。可能是您的 delete.php 或 memberlist.php 代码存在问题。为了满足您的期望, 请提供 delete.php 和 memberlist.php 的代码以获得解决方案。

0

你可以在你的URL中添加确认

编辑:抱歉拼写错误,我只是想展示一种替代的方式,我正在用手机发送短信

<a onclick="return confirm('you are going to delet it are you sure bobo ?')" href="#your delet url">

0
  1. 我假设你的元素是一个链接,其href属性为"delete.php" - 这是一个非常糟糕的想法,除非你想让Google蜘蛛删除你的数据库
  2. 如果你不想执行链接的点击事件,你需要在其click事件中返回false - 但请参考1

我建议

window.onload=function() {
  document.getElementById("deleteLink").onclick=function() {
    if (confirm("Do you really want to delete?") {
      location="delete.php?user="+this.getAttribute("data-user");
    }
  }
  return false // cancel link
}

使用

<a href="#" id="deleteLink" data-user="Frank">Delete</a>

适用于多个用户的通用程序:

window.onload=function() {
  var deleteLinks = document.querySelectorAll(".deleteLink");
  for (var i=0;i<deleteLinks.length;i++) {
    deleteLinks[i].onclick=function() {
      var user = this.getAttribute("data-user");
      if (confirm("Do you really want to delete "+user+"?") {
        location="delete.php?user="+user;
      }
    }
  }
  return false // cancel link
}

使用

<a href="#" class="deleteLink" data-user="Frank">Delete Frank</a>
<a href="#" class="deleteLink" data-user="Bob">Delete Bob</a>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接