Problema form: controllo campi vuoti e inibizione pulsante invio

aldoaiello

Nuovo Utente
30 Gen 2006
3
0
0
Ciao a tutti!

Ho un problema: Ho una pagina html nella quale c'è una form x mandare un'e-mail con allegato.
Ho inserito uno script Javascript che effettua un controllo dei campi lasciati vuoti e dà un messaggio se non sono compilati quelli obbligatori (tutti sono obbligatori tranne l'allegato). Fin qui funziona.

Dal momento in cui ho voluto aggiungere allo script una funzione che mi disabilita il pulsante di invio quando tutto è stato compilato e inviato (praticamente per evitare che venga cliccato 2 volte il tasto invio) sembra che non mi invia il form alla pagina php xkè diventa la pagina bianca come se si bloccasse.

Insomma detto praticamente ho bisogno di uno script che faccia il controllo dei campi lasciati vuoti e se è stato tutto compilato invii il form disabilitando il pulsante invio per evitare doppi clic.

A me riesce soltanto fare o l'uno o l'altro, ma non tutti e due insieme.

Grazie per l'aiuto.
Aldo.
 
Prova cosi

if (...)
{
controlli vari...
}
else
{
document.modulo.method="post";
document.modulo.action="file.php";
document.modulo.invio.disabled = true;
}

assegnando al tag form solo il name

<form name="modulo">

fammi sapere ;)
 
Grazie per la risposta ma niente da fare:

Mi dà sempre il solito problema: sembra che aggiungendo l'attributo disabled al pulsante il programma si blocchi e mi viene la solita pagina bianca.:incazz2:

NON SO PIU' CHE COSA PROVARE...

Senza mettere l'attributo disabled mi funziona tutto, al momento che l'aggiungo niente. BOH:confused:

Ciao, Aldo.
 
premesso ch nell'esempio ho dimenticato il submit() :)

puoi anche usare un cookie oppure, più semplice, valorizzare una variabile numerica

mi spiego

if (...)
{
controlli vari...
}
else
{
var i = 0;
if (i == 0)
{
document.modulo.method="post";
document.modulo.action="file.php";
document.modulo.submit();
i = 1;
}
}

oppure lasciar perdere la soluzione lato client e farla lato server, valorizzando un cookie o una sessione in php, oppure usando il datediff per calcolare he se non è passato almeno un minuto, ad esempio, non invia la seconda mail

non ti incartare per forza su una soluzione se non va, non pensare troppo alla tecnica ma alla pratica!

ciao ;)
 

Discussioni simili