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!

Rispondi quotando