bootstrap-show-modal

A bootstrap plugin to create modals dynamically in JavaScript.

GitHub repository and documentation

Examples

Hello World!

bootstrap.showModal({title: "Hello World!", body: "A very simple modal dialog without buttons."})

Hello World! draggable

 bootstrap.showModal({title: "Hello World!", body: "This one is draggable.", draggable: true})

Alert (With "OK" Button)

bootstrap.showAlert({title: "Hi", body: "Please press ok, if you like or dislike cookies."})

Confirmation dialog

bootstrap.showConfirm({
    title: "Please confirm", body: "Do you like cats?", textTrue: "Yes", textFalse: "No",
    onSubmit: function (result) {
        if (result) {
            bootstrap.showAlert({title: "Result: " + result, body: "You like cats."})
        } else {
            bootstrap.showAlert({title: "Result: " + result, body: "You don't like cats."})
        }
    },
    onDispose: function () {
        console.log("The confirm dialog vanished")
    }
})

Show a complex form and handle input

bootstrap.showModal({
    title: 'Complex Form',
    body:
        '<form><div class="form-group row mb-2">' +
        '<div class="col-3"><label for="text" class="col-form-label">Text</label></div>' +
        '<div class="col-9"><input type="text" class="form-control" id="text"/></div>' +
        '</div>' +
        '<div class="form-group row mb-2">' +
        '<div class="col-3"><label for="select" class="col-form-label">Select</label></div>' +
        '<div class="col-9"><select id="select" class="form-control">' +
        '<option value=""></option>' +
        '<option value="red">red</option><option value="green">green</option><option value="blue">blue</option>' +
        '</select></div>' +
        '</div>' +
        '<div class="form-group row">' +
        '<div class="col-3"><label for="textarea" class="col-form-label">Textarea</label></div>' +
        '<div class="col-9"><textarea id="textarea" rows="5" class="form-control"></textarea></div>' +
        '</div></form>',
    footer: '<button type="button" class="btn btn-link" data-bs-dismiss="modal">Cancel</button><button type="submit" class="btn btn-primary">Send</button>',
    onCreate: function (modal) {
        // create event handler for form submit and handle values
        modal.element.querySelector("button[type='submit']").addEventListener("click", function (event) {
            event.preventDefault()
            const formElement = modal.element.querySelector("form")
            bootstrap.showAlert({
                title: "Result",
                body:
                    "text: " + formElement.querySelector("#text").value + "<br/>" +
                    "select: " + formElement.querySelector("#select").value + "<br/>" +
                    "textarea: " + formElement.querySelector("#textarea").value
            })
            modal.hide()
        })
    }
})

More Bootstrap Components from shaack.com.

You may want to check out our further Bootstrap extensions.