• User Attivo

    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 ? 😄


  • User Attivo

    Ok ragazzi ho risolto ho trovato un ottimo tutorial su internet riguardo l'invio di mail con php e AJAX...

    alla prossima xD


  • User Attivo

    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


  • User Attivo

    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


  • User Attivo

    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


  • User Attivo

    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!!


  • User Attivo

    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