Ho un modulo semplice, che chiede se sei sicuro di volerlo inviare.Il modulo jQuery non viene inviato dopo aver corretto la convalida non riuscita
$(document).ready(function(){
$("form#myform").on('submit', function(e)
{
if (!confirm('Are you sure?')){
e.preventDefault();
}
else {
console.log("submitting...");
}
});
});
Invia modulo, premi "ok" al prompt "sei sicuro", il modulo viene inviato correttamente.
--refresh pagina, slate-- pulito
Invia modulo, ha colpito annullare al "sei sicuro della programmazione". Il modulo non viene inviato, come previsto. Invia di nuovo il modulo, premi "ok" al prompt "sei sicuro", il modulo non viene ancora inviato, "invia ..." viene registrato nella console. Da questo momento in poi, il modulo non verrà mai inviato fino a quando non aggiorno la pagina e premo "ok" al prompt la prima volta.
Se sostituisco
e.preventDefault();
con
return false;
nulla cambia, esattamente lo stesso comportamento.
Sono completamente perplesso. Che cosa sto facendo di sbagliato?
modifica: Ecco un collegamento jsFiddle https://jsfiddle.net/8ac3Lgzg/. L'HTML e JavaScript in quel violino sono/esattamente lo stesso/come il codice che ho nel mio progetto. Il problema che ho descritto sopra NON si verifica quando viene eseguito su jsFiddle, ma nel mio progetto.
Puoi pubblicare uno snippet di stack o jsFiddle che mostra il problema? – j08691
Sei positivo che non si presenta? Hai controllato il registro delle richieste di rete? Questo può essere un problema di back-end. Il codice fornito non sembra contenere alcun problema. –
il pulsante di invio ha il nome 'submit'? – atmd