jquery - Bootstrap 模式第二次不触发 jQuery 函数

标签 jquery bootstrap-modal

我正在尝试触发一个函数,该函数是 shown.bs.modal 上的表单提交函数,但它只在第一次触发。

我的模态: enter image description here

列出的每一项都是一个表单。我的 jQuery 代码是:

$('#edit_modal').on('shown.bs.modal', function (event) {
    console.log("shown");
    $('#edit_form').submit(function (event) {
        event.preventDefault();
        var url = $(this).attr('action');
        var data = $(this).serialize();
        $.post(url, data, function (data) {
            $('#edbtn').attr({
                class: 'btn btn-success',
                disabled: 'true',
                value: data
            });
        });

    });
});

在控制台中,我只能在第一次打开时看到“显示”日志。而且只有第一次点击“保存”按钮时,它才能正常工作,但第二次它会重定向到actionurl.php页面,这意味着这次没有触发此功能,因为它没有重新显示。

注意:我已经尝试过 $(this).modal().hide().show();但这并不 重新显示模式或类似的东西。

最佳答案

如果你的模态是动态创建的(如果它在关闭后从 dom 中删除并在打开时追加),你需要使用另一个事件构造:

$(document).on('shown.bs.modal', '#edit_modal', function (event) { ... })

提交事件也是如此:

$(document).on('submit', '#edit_form', function(event) { ... })

关于jquery - Bootstrap 模式第二次不触发 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52471041/

相关文章:

css - 我可以将 Bootstrap 2.3.1 与 4.0 或 3.x.x 等新版本合并吗?

javascript - 如何在模式关闭后刷新 Bootstrap 模式字段

javascript - bool 随机性 - 递归......或不是?

java - XHR 错误 : Origin http://localhost is not allowed by Access-Control-Allow-Origin

javascript - Shield UI XML 内联编辑

javascript - 停止隐藏/显示系列,但单击时图例会变灰

css - Bootstrap 模态 - 缺少关闭效果

javascript - 单击“确定”进行 JavaScript 确认后如何打开 Bootstrap 模式?

javascript - JQUERY:动态 AJAX 和 html 元素删除

javascript - 尝试从模态 Bootstrap 获取数字并在按钮触发时自动递增