Aiutoooooo

marco.manni

Utente Attivo
10 Set 2003
49
1
0
Ho un bisogno disperato di un aiuto!
Dunque, in un centinaio di siti ho trovato delle istruzioni per spedire le informazioni di un form di una pagina html direttamente in un'email (con il mailto: nell'attributo action del form), senza usare uno script cgi. In tutti i tutorials trovati c'è scritto di usare:

<form method="Post" enctype="plain/text" action="mailto:[email protected]?subject=Oggetto">
...
</form>

così facendo si dovrebbe ottenere un'email con destinatario [email protected], con soggetto Oggetto e nel body ci dovrebbero essere l'elenco dei campi del form con relativi dati inseriti, tipo:

nome=marco
cognome=manni
...

ora, utilizzando il codice su scritto, io ottengo tutto tranne il corpo della mail, senza l'elenco dei campi con i dati inseriti nel form. Perchè?!?!? invece se utilizzo Get invece di Post nel corpo mi mette solamente il risultato del primo oggetto del form, cioè:

nome=marco

Cosa devo fare per avere un utilizzo funzionale del mailto?
 

maxbossi

Amministratore
Membro dello Staff
ADMIN
MOD
25 Feb 2003
2.025
43
48
www.ikiweb.it
Sinceramente il metodo di invio mail direttamente con "mailto" non è il massimo...
Non credo infatti ti funzionino tutti i campi che hai messo nel form ma solo quelli previsti dall'oggetto "mailto" (ad es. CC, BCC, BODY, ecc.)...

Comunque, ti propongo una soluzione alternativa che NON prevede ne CGI ne ASP... ma JAVASCRIPT... provalo!
Ecco il codice da inserire tra <head> e </head>

<script type="text/javascript">
<!--
function Email() {
var email = document.modulo.email.value;
var oggetto = document.modulo.oggetto.value;
var messaggio = document.modulo.msg.value;
if ((oggetto == "") || (oggetto == "undefined")) {
alert("Inserire un oggetto.");
document.modulo.oggetto.focus();
}
else if ((messaggio == "") || (messaggio == "undefined")) {
alert("Inserire un messaggio.");
document.modulo.msg.focus();
}
else {
location.href = "mailto:" + email + "?Subject=" + oggetto + "&Body=" + messaggio; {
}
//-->
</script>

Mentre nel body della tua pagina crea un form con questo codice:

<form name="modulo">
<input type="hidden" name="[email protected]">
Oggetto:<br><input type="text" name="oggetto"><br>
Messaggio:<br><textarea name="msg" rows="10" cols="30"></textarea><br>
<input type="button" value="Invia" onClick="Email()">
</form>
 

marco.manni

Utente Attivo
10 Set 2003
49
1
0
Interruzione Submit

Ciao e grazie bubunet, anche se non era la soluzione che cercavo... Volevo capire il perchè del mio problema, e ho scoperto che è un problema di client di posta. Cmq grazie lo stesso, lo script è molto simpatico...

Volevo chiederti un'altra cosa xò:
Ho trovato uno script che una volta premuto il pulsante Submit controlla quali campi non sono stati compilati nel form e dà quindi un messaggio con l'elenco. Siccome subito dopo il msg che viene visualizzato, in realtà il submit continua a spedire il form ugualmente... C'è un modo per interrompre l'esecuzione dell'evento Submit? Uno Stop... non so se mi spiego (...disse il paracadute... :eek: )
 

maxbossi

Amministratore
Membro dello Staff
ADMIN
MOD
25 Feb 2003
2.025
43
48
www.ikiweb.it
Generalmente gli script che controllano la corretta compilazione dei campi di un form DEVONO impedire che questo venga inviato qualora ci siano degli errori...
Nel tuo caso, quindi, o lo script ha un errore (e perciò non funziona correttamente) oppure stai usando uno script elementare privo (???) di questa (indispensabile) funzione...
Prossimamente affronteremo in uno dei nostri tutorial questo argomento... ti consiglio di dare un'occhiata tra qualche giorno nella nostra homepage.
Ciao
 

Discussioni simili