Как заменить подсказку диалогом и обещаниями JS - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть следующий метод, который срабатывает при нажатии кнопки

function approveDay(URL, dateDay, action, cNT) {
var message = '';
if (action === 'false') {
    message = prompt('Enter notes : ', '');
    if (message === null) {

        return false;
    } else if (message.trim() === "") {
        showMessage(2,
            "The status of the timesheet cannot be changed to \"Not approved\" if no comments are specified!");
        return false;
    }
}
var data;
if (cNT === null) {
    data = addAntiForgeryToken({ UID: userId, dateDay: dateDay, action: action, message: message });
}
else {
    data = addAntiForgeryToken({ UID: userId, dateDay: dateDay, action: action, message: message, cNT: cNT });
}
blockUI();
$.ajax({
    type: 'POST',
    url: URL,
    data: data,
    success:
        function (result) {
            showMsg(result);
            location.reload();
        },
    error: function (xhr, textStatus, errorThrown) { AjaxErrMessage(xhr, textStatus, errorThrown); }
});
return false;

}

Мне нужно удалить приглашение и заменить его диалоговым окном, которое содержит поле ввода для сообщения и кнопку для добавить, что сохраняет это сообщение. Но также мне нужно остановить выполнение функции. Я знаю, что обещания могут помочь мне с моей проблемой. Как я могу реализовать это решение или решение без обещаний. Функция инициализации моего диалогового окна ниже

function initModalWindow() {
$("#RejectNotesBlock").dialog({
    width: 500,
    modal: true,
    close: function (event, ui) {
        $("#RejectNotesBlock").dialog("close");
    }
});

}

Спасибо.

...