【问题标题】:Return confirm cancel button not working返回确认取消按钮不起作用
【发布时间】:2014-08-19 14:28:38
【问题描述】:

我在树枝上有这个链接:

<a href="{{ path('relation-delete', {'id': c.getCustomerId}) }}" 
   onclick="return confirm('{% trans %}relation.delete{% endtrans %}');"
   class="tip" data-original-title="Verwijder klant {{ c.getCustomerName }}">

源代码中的 HTML:

<a href="/app_dev.php/projects/delete/1" class="tip" 
  data-original-title="Verwijder project Lantaarn plaatsen" 
  onclick="return confirm('Verwijderen');">

<button class="btn btn-danger"><i class="fa fa-times fa-fw"></i></button></a>`

onlick 确认取消按钮不会取消操作,而是继续执行。 有人知道这个返回确认有什么问题吗?

【问题讨论】:

  • 你必须显示结果 html,而不是模板
  • 将此添加到问题中
  • 完成了,有什么想法吗?
  • 控制台中是否有任何 javascript 错误?
  • 为什么将button 放在a 元素中?

标签: javascript php html symfony twig


【解决方案1】:

您可以在 html 元素之外的函数中验证确认框,并在“onclick”事件上调用此函数。像这样:

<a href="somePage" onclick="return myFunction()">My link</a>

function myFunction() {
    if (confirm("Confirm message")) {
       // do stuff
    } else {
      return false;
    }
}

【讨论】:

  • 原来这是在另一个 javascript 文件中导致问题:$("a").click(function(e) { e.preventDefault(); location.href = $(this).attr("href"); });
【解决方案2】:

添加event.preventDefault(); 修复了它。

这是一个例子:

console.log('Validating...');

function confirm_delete(){
var txt;
var r = confirm("Are you sure you want to delete?");
if (r == true) {
    txt = "You pressed OK!";
} else {
    txt = "You pressed Cancel!";
    event.preventDefault();
}
console.log(txt);
}

【讨论】:

  • 或者那个“返回false;”我想声明会起作用,当我第一次阅读它时我错过了它......
猜你喜欢
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
相关资源
最近更新 更多