Attualmente sto utilizzando jquery per intercettare l'invio di un modulo e mostrare agli utenti una finestra di dialogo per la conferma. Se l'utente fa clic sì, allora il modulo deve inviare. Se l'utente fa clic su no, quindi chiude la finestra di dialogo.Jquery trap form submit()
Tutto questo funziona bene ma per un problema: quando l'utente fa clic su Sì, attiva nuovamente lo stesso codice e la finestra di dialogo viene riaperta.
$("#myform").submit(function (event) {
if (something) {
var $dialog = $('<div></div>').dialog({
buttons: {
"OK": function() {
$dialog.dialog('close');
$("#myform").submit();
return;
},
Cancel: function() {
$(this).dialog("close");
}
}
});
$dialog.dialog('open');
event.preventDefault();
return false;
} else {
$("#myform").submit();
}
});
Capisco perché questo sta accadendo, solo non sono sicuro sul modo migliore per aggirare. Mi rendo conto che potrei mostrare la modale al clic del pulsante, invece del modulo submit, ma questo non risolve il problema di premere il pulsante Invio sulla tastiera per inviare il modulo.
Molto interessante! Non penso che ci sia un modo ovvio per aggirarlo, anche se spero che qualcuno possa dimostrarmi che ho torto! Hai provato a integrare la funzionalità 'preventDefault()'? –