Bootstrap 4 Modal Remote URL:仅出现背景

时间:2019-07-06 14:37:23

标签: javascript jquery twitter-bootstrap jquery-ui bootstrap-modal

我正在尝试将来自同一本地主机的某些内容加载到模式中。这是我的链接:

<a href="#" data-remote="/Applications/Applications/RoleDetails?Id=800fd767-98bb-42f1-9183-377646b826bb&amp;ApplicationId=300e235f-2e4e-4c64-9ae7-d1ac09846afa" data-toggle="modal" data-target="#modal-container">SystemAdministrator</a>

这是我的标题:

    <script src="~/jquery/jquery.min.js"></script>
    <script src="~/jquery-validate/jquery.validate.js"></script>
    <script src="~/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
    <script src="~/jqueryui/jquery-ui.js"></script>
    <script src="~/popper.js/umd/popper.js"></script>
    <script src="~/twitter-bootstrap/js/bootstrap.js"></script>

在正文的开头,我将此空div插入其模式ID:

<div id="modal-container"></div>

这是我要加载到模式容器中的模式:

@model App.Data.ViewModels.ApplicationRoleDetailsViewModel
<script>
    $(document).ready(function () {

    });
    $(document).on("submit","#modal",function (e) {
        e.preventDefault();
        var form_data = $(this).serialize();
        $.ajax({
            url: "@Url.Action("SaveRole", @ViewContext.RouteData.Values["controller"].ToString())",
            method: "POST",
            data: form_data,
            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
            success: function (result) {
                if (result.success) {
                    $(document).off("submit");
                    $(document).off("submit", "#save");
                    $('#modal').off('#save');
                    $.modal.close();
                    return;
                }
                $.each(result.errors, function (index, item) {
                    // Get message placeholder
                    var element = $('[data-valmsg-for="' + item.propertyName + '"]');
                    element.empty();
                    // Update message
                    element.append($('<span></span>').text(item.errorMessage));
                    // Update class names
                    element.removeClass('field-validation-valid').addClass('field-validation-error');
                    $('#' + item.propertyName).removeClass('valid').addClass('input-validation-error');
                });
            }
        });
        return false;
    });
</script>
<div class="modal" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="col-sm-12">
                <div class="modal-header">

                    @if (Model.Id == null)
                    {
                        <h5 class="modal-title">Add Role</h5>
                    }
                    else
                    {
                        <h5 class="modal-title">Edit Role</h5>
                    }
                </div>
                <hr />
            </div>
        </div>
    </div>
</div>

我已阅读到Bootstrap 4删除了对远程加载的支持,因此这是我的解决方法:

$('body').on('click', '[data-toggle="modal"]', function () {
    $($(this).data("target") + '#modal-container').load($(this).data("remote"));
}); 

问题在于,由于某些原因,当我单击链接时,仅出现我的背景。我的内容已加载到模式中,当我在调试器上对其进行检查时,.modal类将显示:none;在上面。如果我尝试将其更改为display:block;它出现了,但我无法点击离开。

请帮助。我已经尝试了好几天了。

编辑:

只是想说,当我使用具有静态内容的普通模式尝试此操作时,它没有任何问题。

0 个答案:

没有答案