-
Ajax!!
Sarò rapido:
| FORM INVIO MAIL |
| .............................|
| testo.....................|
|..............................|
| ........INVIA! ..........|il pulsante invia, invece che condurre ad una pagina php con POST, e poi inviare la mail, vorrei che chiamasse una FUNZIONE che invia la mail (prelevando dai campi i vari dati). Tutto ciò per eviditare uno sgradevole caricamento pagina in più. credo che ciò che mi serva sia AJAX... qualcuno mi da una mano ?
-
Ok ragazzi ho risolto ho trovato un ottimo tutorial su internet riguardo l'invio di mail con php e AJAX...
alla prossima xD
-
Ciao sono sempre io xD
Il tutorial vale per passare da un FORM, tramite una chiamata a AJAX nel momento del submit, delle variabili sotto forma di GET a una pagina php... ma per POST?
Io mi trovo così:
FORM CON VARI CAMPI ....
BOTTONE SUBMIT
<input name="send" type="button" id="Send" value="Send" onClick="Richiesta(document.modulo.nome.value, document.modulo.email.value, document.modulo.messaggio.value)" />
La funzione RICHIESTA l'ho inclusa prima:
var XMLHTTP; function Richiesta(N, E, M) { var url; url = "send.php?nome=" + N + "&email=" + E + "&messaggio=" + M; XMLHTTP = RicavaBrowser(CambioStato); XMLHTTP.open("GET", url, true); XMLHTTP.send(null); }
e poi la pag php ricava i dati passati per GET
$nome = $_GET["nome"] ecc. ecc.
Ma se volessi fare tutto in POST qualcuno mi da una dritta? xD
-
Ho trovato su internet questo ottimo tutorial sul passaggio dati in POST, basato su una classe apposta...
http://www.mondoinformatico.info/ajax-per-tutti-prima-parte_post-2069.html
Provo con questo... strappando anche i pezzi che mi servono dalla classe... ma suggerimenti sulle mie domande precedenti sono ben accetti! (ANCHE METODI ALTERNATIVI!)
Ciao
p.s. I MOD potranno ovviamente inglobare i miei mex in uno solo xD
-
Per trasformare in post questo tuo codice:
var XMLHTTP; function Richiesta(N, E, M) { var url; url = "send.php?nome=" + N + "&email=" + E + "&messaggio=" + M; XMLHTTP = RicavaBrowser(CambioStato); XMLHTTP.open("GET", url, true); XMLHTTP.send(null); }
Basta cambiarlo così:
var XMLHTTP; function Richiesta(N, E, M) { var url; url = "send.php"; XMLHTTP = RicavaBrowser(CambioStato); XMLHTTP.open("POST", url, true); XMLHTTP.send("nome=" + N + "&email=" + E + "&messaggio=" + M); }
Dovrebbe gia funzionare in post
-
Grazie della risp ho gai fatto con l'altro metodo.. ma c'è un problem:
se io mando come risposta alla mia pagina dove sono, dalla pag PHP a cui ho acceduto attraverso AJAX, una funzione javascript che è stata dichiarata sempre nella pagina in cui sono (NON NELLA PHP)... non va!!
-
Strano dovrebbe funzionare.
Infatti il js va messo nella pagina che fa il post. Dovresti incollare il codice per capire. Forse c'è qualche errore nello script