PDA

View Full Version : Jquery UI Dialog Confirm: errore sulla chiusura della finestra


robertino_salemi
26-03-2014, 17:00
Salve a tutti,
ho creato una funziona generica per la visualizzazione della finestra di conferma sull'operazione da eseguire.

Ovviamente, nel caso in cui l'utente seleziona 'SI' viene eseguita una funzione di callback, ma purtroppo la mia finestra rimane aperta e non si chiude!

Così ho pensato ad associare una function per la chiusura della finestra, ma ottengo:
Error: cannot call methods on dialog prior to initialization; attempted to call method 'close'

Qui un esempio di ciò che ho creato (anche se fa riferimento all'esempio standard): Link JsFiddle (http://jsfiddle.net/y28Jf/1/)


$( "#dialog-confirm" ).dialog({
resizable: false,
height:140,
modal: true,
buttons: {
"YES": function() {
alert('ciao');
MessageBox_close();
},
Cancel: function() {
MessageBox_close();
}
}
});


function MessageBox_close()
{
$(this).dialog('close');
}


Cosa suggerite?

Grazie.

OoZic
26-03-2014, 18:27
Guarda come l'hanno implementato qui:
http://bootboxjs.com/

Mettiu_
26-03-2014, 18:56
Salve a tutti,
ho creato una funziona generica per la visualizzazione della finestra di conferma sull'operazione da eseguire.

Ovviamente, nel caso in cui l'utente seleziona 'SI' viene eseguita una funzione di callback, ma purtroppo la mia finestra rimane aperta e non si chiude!

Così ho pensato ad associare una function per la chiusura della finestra, ma ottengo:
Error: cannot call methods on dialog prior to initialization; attempted to call method 'close'

Qui un esempio di ciò che ho creato (anche se fa riferimento all'esempio standard): Link JsFiddle (http://jsfiddle.net/y28Jf/1/)


$( "#dialog-confirm" ).dialog({
resizable: false,
height:140,
modal: true,
buttons: {
"YES": function() {
alert('ciao');
MessageBox_close();
},
Cancel: function() {
MessageBox_close();
}
}
});


function MessageBox_close()
{
$(this).dialog('close');
}


Cosa suggerite?

Grazie.

Prova così:

function MessageBox_close()
{
$('#dialog-confirm').dialog('close')
}

robertino_salemi
26-03-2014, 21:34
Grazie a tutti, domani faccio un paio di test e vi comunico l'esito!

robertino_salemi
27-03-2014, 09:18
Grazie Mettiu, alla fine ho risolto così (http://jsfiddle.net/robertinosalemi/y28Jf/6/).


$( "#dialog-confirm" ).dialog({
resizable: false,
height:140,
modal: true,
buttons: {
"YES": function() {
alert('ciao');
MessageBox_close();
},
Cancel: function() {
MessageBox_close();
}
}
});


function MessageBox_close()
{
$("#dialog-confirm").dialog('close');
}


Grazie a tutti.