You can use callbacks to do this
Confirm handler, to be added in your global javascript file
function ConfirmInDiv(message, okcallback, cancelcallback) {
$('#confirmation-holder').show();
$("#confirmation_message").text(message);
$('#Confirmation_Ok').unbind('click');
$('#Confirmation_Ok').click(okcallback);
$('#Confirmation_Cancel').unbind('click');
$('#Confirmation_Cancel').click(cancelcallback);
}
function HideConfirmDiv() {
$('#confirmation-holder').hide();
}
HTML, should reside in your layout file:
<div id="confirmation-holder" style="display:none">
<div id="confirmation_message"></div>
<a id="Confirmation_Ok" href="#" class="button">OK</a>
<a id="Confirmation_Cancel" href="#" class="button light-button">Cancel</a>
</div>
And wherever you want to call your javascript confirm:
Instead of this
function delete()
{
if(confirm("Delete?")
{
console.log('deleted');
}
else
{
console.log('delete cancelled');
}
}
do this
function delete()
{
function ok()
{
console.log('deleted');
HideConfirmDiv();
}
function cancel()
{
console.log('delete cancelled');
HideConfirmDiv();
}
ConfirmInDiv('Delete?', ok, cancel);
}