【问题标题】:Alert confirmation issue警报确认问题
【发布时间】:2017-01-16 12:14:45
【问题描述】:

我有一个按钮,当用户点击删除网站上的项目时,会弹出一个确认信息,我正在使用 alertify.js 我有按钮等工作但是当点击删除时,确认框出现并自动删除项目并在我点击确定确认或取消之前消失.. ?

这里是html

<button type="submit" class="btn btn-link btn-sm" Onclick="return ConfirmDelete();" style="margin:5px;"></button>

这里是javascript代码

 function ConfirmDelete()
{
   alertify.confirm("This is a confirm dialog", function (ev) {
        ev.preventDefault();
        alertify.success("You've clicked OK");
    }, function(ev) {
        ev.preventDefault();
        alertify.error("You've clicked Cancel");
    });
}

我怎样才能防止这种情况发生?

【问题讨论】:

  • 您使用的是 html 表单吗?
  • 是的,我使用的是 html 表单
  • 不确定您使用的是哪个库或框架,但通常,如果您使用按钮作为表单提交,则不会在该按钮上使用 onclick 事件。这可能导致不良行为。所以也许这可能是你的错,因为你的代码似乎很正确。
  • 我使用 laravel 5.3

标签: javascript alertifyjs


【解决方案1】:

在这种情况下,您无法阻止表单提交,因为自定义确认是非阻塞异步对话框。但是,您可以通过始终返回 false 并手动(以编程方式)提交表单来阻止它,以防按下 Ok 按钮:

function ConfirmDelete(button) {
  alertify.confirm("This is a confirm dialog", function() {
    button.form.submit()
    // alertify.success("You've clicked OK", function() {
    //   button.form.submit()
    // });
  }, function() {
    alertify.error("You've clicked Cancel");
  });

  return false;
}

为此,请确保将按钮引用传递给您的函数:

<button type="submit" onclick="return ConfirmDelete(this)">ConfirmDelete</button>

【讨论】:

    猜你喜欢
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    相关资源
    最近更新 更多