cs html модальный вызов JS функция при закрытии - PullRequest
1 голос
/ 08 апреля 2020

Я использую это событие, чтобы открыть модальное окно, которое позволит пользователю редактировать форму. Он прекрасно открывается, пользователь обновляет данные, но затем, когда они закрывают модальное окно, мне нравится вызывать функцию, которая будет создавать данные. Есть ли способ вызвать функцию JS, которая находится на родительской странице cs html?

Главная страница

$(".references-list").on("click", ".edit-reference", function () {
    var index = $(this).data('index');
    var versionKey =  '@Model.VersionKey'

    $.ajax({
        url: '/References/Edit',
        method: 'GET',
        data: { index: index, VersionKey: versionKey }, 
        begin: function () {
        },
        success: function (data) {
            $("#add-reference-modal .modal-body").html(data);
            $("#add-reference-modal").modal('show');
        }
    });
    return false;
});

Редактировать cs html page

<div id="container" style="@(Model.Type == "Pubmed" ? "display:block" : "display:none")">
    <form id="form" class="form-horizontal" data-sortorder="@Model.SortOrder">
        <div id="search-grid-container" style="text-align:center;margin: 20px 0;">
            @(Model.Text)
        </div>
        <hr />
        <div class="form-group">
            <label class="col-sm-2 control-label" style="font-size:smaller">Regimen References</label>
            <div class="col-sm-10" style="font-size:smaller">
               @Html.Partial("RegimenReferences", (ReferencesModel)Model)
            </div>
        </div>
        <div class="text-center">
            <button type="submit" class="btn btn-primary modal-submit-btn">Save</button>
            <button type="button" class="btn btn-default modal-close-btn" data-dismiss="modal">Close</button>
        </div>
    </form>
</div>

1 Ответ

1 голос
/ 08 апреля 2020

Поскольку модал определен на родительской странице, вы можете прикрепить событие к закрытию модального окна. Оттуда вы можете использовать модал в качестве отправной точки и использовать .find () в полях ввода для получения данных.

Просто добавьте это в скрипт родительской страницы;

$('#add-reference-modal').on('hidden.bs.modal', function () {
   var property1 = $(this).find("#yourElementId1").val();
   var property12 = $(this).find("#yourElementId2").val();
   callFunction();

   // ... do something else
});
...