【问题标题】:Confirm box with jQuery带有 jQ​​uery 的确认框
【发布时间】:2021-07-11 10:40:31
【问题描述】:

当我通常对链接使用确认框时,我会这样做:

<button type="button" class="btn btn-danger btn-sm" onclick="return confirm('Wollen Sie den Datensatz wirklich löschen?')">Delete</button>

现在我必须提交一个表格。在确认框的消息中,必须显示表单输入字段的值。

我解决这个问题的尝试是:

<input id="endetzum" type="text" class="form-control" name="Kursende" form="formularmodal3">
<input type="submit" class="btn btn-primary" value="Auswählen" form="formularmodal3" id="buttonkursende">

$('#buttonkursende').click(function(){
var datumende = ($("#endetzum").val());
confirm('Der Kurs endet zum '+datumende);
});

它也可以通过光学方式工作,但无论单击“确定”还是“取消”,表单都会始终执行。

当点击“取消”时,如何防止表单被发送?

【问题讨论】:

  • 您需要返回confirm 对话框的结果
  • 也许这对你有帮助。您的 html 代码中是否有 type="button" 用于取消按钮?

标签: jquery confirm


【解决方案1】:

为避免进一步执行 jQuery 事件绑定,事件函数必须返回 false 或者可以使用 event.preventDefault()

$('#buttonkursende').click(function(){
    var datumende = ($("#endetzum").val());
    return confirm('Der Kurs endet zum '+datumende);
});

// or

$('#buttonkursende').click(function(e){
    var datumende = ($("#endetzum").val());
    if(!confirm('Der Kurs endet zum '+datumende)) {
        e.preventDefault();
    }
});

【讨论】:

  • 哦,这很简单,“返回”它工作正常。 :- ) 非常感谢。
【解决方案2】:

要解决这个问题,请使用.submit() 事件来处理这个表单提交代码。

试试下面的代码,它会为你工作。

在使用以下代码之前,请确保 formularmodal3 是您的表单的 id。

$('#formularmodal3').submit(function(){
    var datumende = ($("#endetzum").val());
    var result =    confirm('Der Kurs endet zum '+datumende);
    return result;
});

【讨论】:

  • 值得注意的是,在单击按钮时返回 false 的效果是一样的。同意虽然使用提交事件更有意义
猜你喜欢
  • 1970-01-01
  • 2011-07-31
  • 2013-09-01
  • 1970-01-01
  • 2014-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多