Bene. La situazione è la seguente:
ho un form con diversi campi, tra i quali diversi BUTTON (submit), che vengono spediti ad uno script PHP.
Fino ad ora ho gestito la conferma in questo modo:
codice HTML:
<button type="submit" name="op" value="del" onClick="return confirm('ATTENZIONE: Vuoi eliminare Nome Elemento?')">ELIMINA</button>
Molto semplicemente, in questo modo posso definire DIVERSI messaggi di "confirm" per diversi bottoni, e spedire il tutto via "POST"..
Adesso vorrei ottenere lo stesso con un Dialog di jquery..
Quindi ho trovato questo:
codice:
function myConfirm(dialogText, okFunc, cancelFunc, dialogTitle) {
$('<div style="padding: 10px; max-width: 500px; word-wrap: break-word;">' + dialogText + '</div>').dialog({
draggable: false,
modal: true,
resizable: false,
width: 'auto',
title: dialogTitle || 'Confirm',
minHeight: 75,
buttons: {
OK: function () {
if (typeof (okFunc) == 'function') {
setTimeout(okFunc, 50);
}
$(this).dialog('destroy');
},
Cancel: function () {
if (typeof (cancelFunc) == 'function') {
setTimeout(cancelFunc, 50);
}
$(this).dialog('destroy');
}
}
});
}
E posso chiamare la funzione tipo cosi': (in un form con id="myform")
codice:
<button type="submit" name="op" value="del"
onClick="return myConfirm( 'Vuoi eliminare Nome Elemento?',
function () { document.forms['myform'].submit(); },
null,
'Conferma Eliminazione ...');
return false;">
ELIMINA
</button>
Non essendo tanto pratico.. ho notato che , senza quel "return false;" alla fine, la finestra di confirm appariva e spariva subito :P
E qui arriva il problema: quando clicco OK nel dialog, il form (myform) viene "submittato", ma tra le variabili POST non c'e il button che è stato cliccato (dovrebbe essere name=op, value=del)
Esiste un modo per ottenere un confirm SINCRONO, come quello base di JS (primo esempio..) ??
Spero di essere stato chiaro. Grazie!