Vai a: [ Contenuti ] [ Categorie ] [ Cerca ]

I Form: risposte a domande frequenti

I Form: risposte a domande frequenti


Come posso dare il focus automaticamente ad un campo una volta caricata la pagina?

Ci sono diversi metodi, ma il più veloce e breve che conosco è questo:

1
2
3
4
5
<script language="JavaScript">
<!--
document.saibal.prova.focus();
//-->
</script>

Va inserito direttamente dopo il tag </form>. "saibal" e "prova" vanno sostituiti rispettivamente con il nome del form e del campo.

Posso utilizzare un form in html per ricevere dei messaggi? Posso anche creare una pagina di ringraziamento?

Premetto subito che la soluzione migliore, in questi casi, è quella di usare linguaggi lato server come CGI (il conosciutissimo Formmail), ASP o PHP. Se non potete utilizzare questi metodi sappiate che c'è una soluzione, anche se non sempre affidabile.
Innanzitutto, visto che utilizziamo HTML che è lato client, molto dipenderà dall'utente. Infatti basterà che il visitatore non abbia ben configurato il programma di posta e l'email non arriverà. Inoltre il funzionamento è limitato ad Outlook Express: chiunque abbia un altro programma di posta vedrà aprirsi una normalissa email pronta da spedire.

Se tutto questo vi può andar bene vi scrivo un classico esempio di modulo:

1
2
3
4
<form name="modulo" method="post" action="mailto:vostroindirizzo@provider.it" ENCTYPE="text/plain"> 
<input name="prova" type="text" size="25" class="campiform">
<input type="submit" name="submit" value="Clicca & Godi">
</form>

È importante inserire la stringa ENCTYPE="text/plain" per essere sicuri che riceveremo un messaggio leggibile.

Se volete una pagina di conferma dopo che l'utente vi ha inviato il modulo c'è un piccolo espediente anche se tecnicamente non è possibile. Prima però facciamo una breve precisazione.

Nei moduli che utilizzano linguaggi lato server la pagina di conferma viene mostrata se, effettivamente, l'invio dell'email è andato a buon fine… in poche parole c'è un controllo reale sui dati inviati. Questo controllo non può essere fatto nei moduli html (che abbiamo detto essere lato client) ma, solamente vezzo estetico, può essere effettuato un redirect ad una pagina di ringraziamento. Il reindirizzamento, però, avviene sempre e comunque indipendentemente dall'esito positivo o negativo dell'invio. Può accadere quindi che, anche se l'utente non è riuscito ad inviare nulla, venga mostrata una bella pagina con scritto: "Grazie per avermi mandato un messaggio. Sei un amico!!".

Se non avete paura di essere insultati dai vostri utenti per questi possibili problemi ecco come fare un modulo che reindirizza ad una pagina predefinita dopo il SUBMIT:

1
2
3
4
<form name="modulo" method="post" action="mailto:vostroindirizzo@provider.it" ENCTYPE="text/plain" onSubmit="location.href=&#039;pagina.htm&#039;">
<input name="prova" type="text" size="25" class="campiform">
<input type="submit" name="submit" value="Clicca & Godi">
</form>

Non dovrete fare altro che inserire l'url (relativo o assoluto) della pagina nella stringa:

1
onSubmit="location.href=&#039;pagina.htm&#039;"

Pagina: 1 [2] 3

link sponsorizzati

Consiglialo su Facebook

Scrivi un commento

Commenti totali: 2


  1. Ciao! Complimenti per l'articolo!
    Avrei una domanda da fare:

    <input type="text" target="nascosto" name="sender_email" size="16"><br><br>
    Messaggio:<br><textarea name="msg" rows="8" cols="35"></textarea><br><br>

    In questa stringa:

    <input type="submit" name="submit" target="nascosto" value="INVIA">

    ho provato ad inserire uno dei seguenti comandi:

    onClick="this.form.msg.value=''"

    onSubmit="this.form.msg.value=''"

    per resettare il form dopo l'invio… ma così facendo mi da errore!
    Come posso resettare automaticamente il campo testo dopo l'invio?
    Grazie mille!

    Davide

  2. che intendi per "resettare il form" dopo l'invio?

Lascia un Commento

Iscriviti alle discussione senza commentare

Torna: [ Inizio ] [ Contenuti ] [ Categorie ] [ Cerca ]

Pagina renderizzata in soli 0,629 secondi dopo aver eseguito ben 57 query. Wordpress... prestazioni da urlo!