29 lines
683 B
JavaScript
29 lines
683 B
JavaScript
(function () {
|
|
var decodeHtmlEntities = function (value) {
|
|
var textarea = document.createElement('textarea');
|
|
textarea.innerHTML = String(value || '');
|
|
|
|
return textarea.value;
|
|
};
|
|
|
|
var handleSubmit = function (event) {
|
|
var target = event.target;
|
|
|
|
if (!(target instanceof HTMLFormElement)) {
|
|
return;
|
|
}
|
|
|
|
var message = decodeHtmlEntities(target.getAttribute('data-confirm-message') || '');
|
|
|
|
if (!message) {
|
|
return;
|
|
}
|
|
|
|
if (!window.confirm(message)) {
|
|
event.preventDefault();
|
|
}
|
|
};
|
|
|
|
document.addEventListener('submit', handleSubmit, true);
|
|
})();
|