【问题标题】:return confirm("Confirm this") Not working.返回确认(“确认这个”)不工作。
【发布时间】:2015-08-28 14:02:33
【问题描述】:

我已经阅读了几乎所有可以在此处找到的关于该主题的帖子,但我只是没有看到我做错了什么。

代码:

<?php 

// This is a test of a confirm dialog. 

if(isset($_POST['delete'])){
    echo "Delete something";
} 

?>

<html>
<head>
    <title>Confirm Test</title>
</head>
<body>

    <form method="post">
        <input type="submit" name="delete" value="Delete" onclick="return confirm('Are you sure you want to do delete item?')">
    </form>

</body>
</html>

现在这个简单的测试有效,但在我的页面中却没有。奇怪的是,它在网站的其他地方工作,页面的结构似乎没有任何不同。按下输入按钮时,不会出现确认对话框,页面只是重新加载。

它不工作的页面当然比上面的更复杂,但基本相同。上面的代码大部分都是从中删减的。如果我将测试代码剪切并粘贴到页面正文中,它就不再像在测试中那样工作。从未出现任何对话框。

我知道这个很难回答的问题,但如果能在正确的方向上知道我可以测试和寻找什么,那就太好了。

【问题讨论】:

  • 使用内联 JavaScript 也是一个好主意。相反,将其抽象为一个可以应用于 any 元素的函数。
  • 我也试过了,但没有运气,只是没有调用它。
  • 它的工作jsfiddle.net/nhe1b43w
  • 好吧,我还没有发现站点周围的删除按钮都不再调用 onclick 处理程序。这也不在他们一个系统上。会发生什么导致 onclick 处理程序不被调用?

标签: php forms confirm


【解决方案1】:

您正在使用 js 的onclick 事件,不会影响表单提交。您需要使用onsubmit 事件停止表单提交。

编辑

<script>
  function validate(){
 return confirm('Are you sure?');
} 
</script>

将其添加到表单中:

 <form method="post" action="file.php" onsubmit="return validate();" >

【讨论】:

  • 我错了,它可以工作,但我有两个按钮,而不仅仅是一个。两者都要求这样做。有办法解决吗?
  • 我一直在尝试解决这个问题,但他们要求我使用 onclick 事件来设置一个变量并且它没有被触发。
  • 现在试试@DanyalSandeelo?我喜欢人们如何投票否决他们没有有效答案的问题。一些 onclick 事件在该站点上有效,但有几个地方不起作用。我不明白从一个到另一个有什么区别。提交时工作得很好,但我有两个按钮,只希望一个按钮在继续之前调用该函数。围绕该问题的所有解决方案都需要 onclick 工作,但它没有被调用。
  • 我修改了我的脚本..现在检查@PaulNeale
  • 谢谢,如何解决@DanyalSandeelo 两个按钮的问题?
猜你喜欢
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多