After going over some of the answers here an in another thread, here's what I ended up with:
I created a function named showAlert()
that would dynamically add an alert, with an optional type
and closeDealy
. So that you can, for example, add an alert of type danger
(i.e., Bootstrap's alert-danger) that will close automatically after 5 seconds like so:
showAlert("Warning message", "danger", 5000);
To achieve that, add the following Javascript function:
function showAlert(message, type, closeDelay) {
if ($("#alerts-container").length == 0) {
// alerts-container does not exist, add it
$("body")
.append( $('<div id="alerts-container" style="position: fixed;
width: 50%; left: 25%; top: 10%;">') );
}
// default to alert-info; other options include success, warning, danger
type = type || "info";
// create the alert div
var alert = $('<div class="alert alert-' + type + ' fade in">')
.append(
$('<button type="button" class="close" data-dismiss="alert">')
.append("×")
)
.append(message);
// add the alert div to top of alerts-container, use append() to add to bottom
$("#alerts-container").prepend(alert);
// if closeDelay was passed - set a timeout to close the alert
if (closeDelay)
window.setTimeout(function() { alert.alert("close") }, closeDelay);
}