Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144

    problema js ajax testo asincrono

    Ciao a tutti!

    Allora volevo porre una domanda...
    Io ho questo codice per far si che quando si clicca su invia (nella pagina in cui mi trovo, mettiamo si chiami index.php) prenda del testo da una pagina php (testo.php)e lo visualizzi subito sotto alla scritta invia in index.php

    Ora il problema sta nel fatto che sotto index.php ci sta altra roba, e siccome il testo in testo.php è molto lungo, va a finire in fondo alla pagina.
    Io vorrei che il testo.php comparisse alla destra di invia (supponendo una tabella di due colonne, a sinistra ho invia, voglio il testo nella colonna di destra).
    E' possibile?
    Io vi posto qui il codice js e php

    Codice PHP:

    <script language="Javascript">
    //Funzione per la gestione asincrona AJAX
    function xmlhttpPost(strURL) {
    //Inizializzo l'oggetto xmlHttpReq
    var xmlHttpReq false;
    var 
    self this;
    // qui valutiamo la tipologia di browser utilizzato per selezionare la tipologia di oggetto da creare.
    // Se sono in un browser Mozilla/Safari, utilizzo l'oggetto XMLHttpRequest per lo scambio di dati tra browser e server.
    if (window.XMLHttpRequest) {
    self.xmlHttpReq = new XMLHttpRequest();
    }
    // Se sono in un Browser di Microsoft (IE), utilizzo Microsoft.XMLHTTP
    //che rappresenta la classe di riferimento per questo browser
    else if (window.ActiveXObject) {
    self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //Apro il canale di connessione per regolare il tipo di richiesta.
    //Passo come parametri il tipo di richiesta, url e se è o meno un operazione asincrona (isAsync)
    self.xmlHttpReq.open('POST'strURLtrue);

    //setto l'header dell'oggetto
    self.xmlHttpReq.setRequestHeader('Content-Type''application/x-www-form-urlencoded');

    /* Passo alla richiesta i valori del form in modo da generare l'output desiderato*/
    self.xmlHttpReq.send(recuperaValore());

    /* Valuto lo stato della richiesta */
    self.xmlHttpReq.onreadystatechange = function() {

    /*Gli stai di una richiesta possono essere 5
    * 0 - UNINITIALIZED
    * 1 - LOADING
    * 2 - LOADED
    * 3 - INTERACTIVE
    * 4 - COMPLETE*/

    //Se lo stato è completo
    if (self.xmlHttpReq.readyState == 4) {
    /* Aggiorno la pagina con la risposta ritornata dalla precendete richiesta dal web server.Quando la richiesta è terminata il responso della richiesta è disponibie come responseText.*/
    aggiornaPagina(self.xmlHttpReq.responseText);
    }
    }

    }
    /*Questa funzione recupera i dati dal form.*/
    function recuperaValore() {
    var 
    form document.forms['form'];
    var 
    nome form.nome.value;
    valore 'nome=' escape(nome);
    return 
    valore;
    }
    /*Questa funzione viene richiamata dall'oggetto xmlHttpReq per l'aggiornamento asincrono dell'elemento risultato*/
    function aggiornaPagina(stringa){
    document.getElementById("risultato").innerHTML stringa;
    }
    </script> 
    Codice PHP:


    <form name="form" onSubmit="java-script:xmlhttpPost('codiciesami.php'); return false;">
    <
    input name="nome" type="hidden">
    <
    input value="Invia" type="submit">
    </
    p>
    <
    div id="risultato"></div>
    </
    form

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    l' altra discussione e' gia' stata spostata in questo forum
    non devi MAI aprire duplicati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.