Problema con il doppio invio nel form con onsubmit

Cozzalonero

Nuovo Utente
29 Gen 2010
5
0
0
Ho un problema ...

ho un form html,

<form name="richiesta" id="richiesta" action="index.asp" method="post" onsubmit="return richiesta_add.ValidateForm(this);">

solo che se la gente fa il doppio click sul tasto mi invia 2 richieste con gli stessi dati ... non voglio che accada questo.

la gente anche se fa il doppio click sul tasto deve inviare una sola richiesta prima del redirect sulla pagina di conferma invio richiesta.

Come devo fare??
 
Crea una sessione che distruggi all'invio dei dati, se la sessione non è più aperta i dati non potranno essere più inviati
 
ciao
perchè non metti un capcha o qualcosa di simile?
al primo submit il codice cambia quindi il secondo se non inserisci il codice non puoi rinviare
 
Eliox ha scritto:
Crea una sessione che distruggi all'invio dei dati, se la sessione non è più aperta i dati non potranno essere più inviati
non è una soluzione applicabile se la sessione era utilizzata per registrare dei dati
ciao
perchè non metti un capcha o qualcosa di simile?
al primo submit il codice cambia quindi il secondo se non inserisci il codice non puoi rinviare
Risolvo nuovamente il captcha e il problema si ripresenta.

Mi stavo chiedendo una cosa. Se fai il redirect nella pagina di conferma nel frattempo non è successo ancora niente (che senso ha ricevere dei dati se prima devi chiedere conferma?). Il problema si potrebbe porre se clicco più volte sul pulsante di conferma finale, dove avviene l'invio dei dati (es. invio effettivo della mail o salvataggio effettivo della richiesta su db).
 
Aspetta!
Se uno invia i dati svuoti i campi, non li mantenere di nuovo pieni, poi lato server il classico controllo di campo vuoto blocca un probabile secondo invio con rimando al form.
Ma se uno reinvia il captcha vuol dire anche che il form è fatto male, voglio dire dopo un'invio ben fatto la pagina dovrebbe dare il messaggio di ringraziamento non ripresentare il form, vuoto o pieno che sia.
L'utente deve sapere che i dati sono stati inviati con successo, il doppio click è relativo a chi ha un problema compulsivo al dito indice della mano destra e invia click a raffica, non perché il form rimane lì, certo se l'invio è lento è un discorso, ma per questo ci sono metodi javascript che disabilitano il tasto di invio fino a quando la pagina risulta inviata, ma dopo non ripresentare subito la pagina col form.
 
Si potrebbe anche ripresentare il form vuoto preceduto da una notifica di conferma dell'invio
 

Discussioni simili