Questo non è semplice come basta interrompere l'invio. Non appena viene cliccato quel pulsante non c'è un modo pratico per sapere quanto, se del caso, dei suoi dati è stato ancora inviato.
Un browser Web e un server Web non mantengono la connessione tra le richieste e, pertanto, l'interruzione di un lato client di script non significa che arresta il lato server.
Per interrompere l'invio, è necessario inviare una seconda richiesta al server indicandolo, quindi sul server, potrebbe essere già stato salvato in modo da richiedere l'eliminazione e, in tal caso, sarà necessario un ID univoco entrambi identificano l'invio e la sua richiesta di interruzione, poiché arriveranno lato server come 2 richieste univoche.
Al server, è possibile impostare alcune regole su cosa e quanti dati sono necessari per salvarlo effettivamente nel db, tuttavia, cosa succede se un utente ha solo 1 immagine e un secondo ne ha 3, come sapere quando si suppone che sia un "invio abortito" o meno, basato su tali regole?
Un ritardo prima di salvarlo potrebbe essere un'altra cosa, quando un abort può essere accettato, ma ancora una volta, è molto difficile rendere sicuro il failover e sarà necessario l'ID univoco per identificare le richieste.
Credo che la soluzione migliore è salvarlo, come mi piacerebbe credere che la maggior parte degli utenti lo desiderino, e se una seconda richiesta arriva entro un certo periodo di tempo, consente di essere cancellata.
Accettare e utilizzare Patrick Roberts answer come inizio sarebbe una buona idea.
In questi 2 post simili potresti trovare ulteriore assistenza.
uso 'event.preventDefult();' Tanti tempo chiesto. –
@Parth Trivedi ... Dubito che event.preventDefault funzionerà in questo caso. Una volta cliccato il pulsante di invio, il modulo verrà pubblicato, come verrà impedito l'arresto di default a metà ?? –
Puoi avere un gestore 'click' e, a seconda delle condizioni, puoi' return false' e dovrebbe fermarsi. – Rajesh