Skip to content

Пожелание и предложение по улучшению #25

@garryseldon

Description

@garryseldon

Добрый день. Как правило содержимое для модальных окон является динамическим. Например есть список товаров и надо выводить вопрос точно ли пользователь хочет удалить данный товар с указанием наименования товара. То есть нельзя сразу добавить содержимое модалки на страницу. Как правило, но не всегда модалку из HTML страницы сразу можно удалить. Модалки нужны разной ширины. Очень часто требуется выводить модальное окно не просто по клику по кнопке, а как результат каких-либо действий в js скрипте, после удачного или неудачного ajax запроса и тд. То есть модалка должна вызываться из js скрипта с указанием параметров - содержимое окна, заголовок, ширина модалки, действия после кликов на кнопки. Html модалки должен генерироваться на лету и вставляться на страницу. Что-то вроде bootbox'а . Я для bootstrap'а 5 делал похожую вешь. Вот примеры того как вызывается моя модалка:

//Пример спрашивающей модалки:
let bootbox = new Bootbox2({
    message: 'Вы хотите удалить?',
    title: 'Подвердите свои действия',
    animation: false,
    buttons: [
        {
            label: 'Отмена',
            className: 'btn btn-success',
            callback: function() { 
                bootbox.close(); //Закрыть модалку
            }
        },
        {
            label: 'Удалить',
            className: 'btn btn-danger', 
            callback: function() {
                //Функция удаления
                bootbox.close();
            } 
        }, //Еще кнопки  
    ]
});
 
// Пример информационного окна:
let bootbox = new Bootbox2({
    message: 'Hello, World!!'
});

Bootbox2.zip - мой скрипт для bootstrap'а 5
Бывают случаи, когда поверх одной модалки надо открыть ещё одну. Например нам нужно в модалке отобразить список закаченных файлов, чтобы пользователь выбрал один из них с возможностью загрузить ещё файлы. В случае неуспешности загрузки надо вывести пользователю сообщение.
Чтобы сразу вешалось событие на кнопку или ссылку, открытие определённой модалки это не нужно. Это удобно только верстальщикам чтобы выводить "рыбный" текст. Всегда можно сделать тоже самое через onclick .

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions