Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    ajax e caricare parti diverse

    Ciao a tutti,

    ho il seguente problema: ho scritto del codice ajax che m permette di caricare solo una parte della pagina. Io vorrei cercare di caricare due parti anzichè una soltanto..

    Il codice javascript è:


    var req;
    var ajaxable;
    var ajaxname = "ajaxable";

    function getAjaxable(){
    ajaxable = document.getElementById(ajaxname);

    }

    function ahah(url) {

    if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (req) {
    req.onreadystatechange = function() {
    ahahDone();
    };
    req.open('GET', url, true);
    req.send("");

    }
    }

    function ahahDone(){
    if(req.readyState == 4){
    if(req.status == 200 || req.status == 0)
    buildPagina();
    else
    ajaxable.innerHTML="ahah error";
    }
    }

    function buildPagina(){
    ajaxable.innerHTML = analizzaTesto(req.responseText);


    }


    function analizzaTesto(testo){
    var regexp = new RegExp("([\\w\\W]*)");
    regpag = regexp.exec(testo);
    if(regpag==null)
    return "";
    else
    return regpag[1];
    }


    Con il codice così com'è riesco solo a ricaricare il div che ha come id "ajaxable". Io vorrei ricaricare due div anzichè uno soltanto...come posso fare?

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Il problema è uno e uno solo: la funzione ahah

    prova a lasciarla e a trovarne una migliore in rete.

    Un esempio solo indicativo è questo:

    codice:
    new Ajax(url_action, onload, parametri);
    
    function onload()
    {
    	var t = this.request.responseText; 
    
    	var v = t.split("|");
    	if(v.length != undefined && v.length == 2)
    	{
    		document.getElementById("div1").innerHTML = v[0];
    		document.getElementById("text1").value = v[1];
    	}
    
    
    }
    come vedi, la funzione di callback onload, riceve il responseText, fa lo split sul carattere separatore | e recupera i varii campi, poi mette il primo dentro div1 ed il secondo dentro text1

    Pietro

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Guarda come è semplice con prototype.js
    http://www.fabryprog.it/from_sergiop...totype.js.html

    codice:
    new Ajax.Request(url_action, {onComplete:showResponse} );
    function showResponse(originalRequest)
    {
    	var t = originalRequest.responseText;
    	var v = t.split("|");
    	$("textarea1").value = t;
    
    	if(v.length != undefined && v.length == 2)
    	{
    		$("div1").innerHTML = v[0];
    		$("text1").value = v[1];
    	}
    
    }
    Pietro

  4. #4
    Scusami ma non sono molto esperto........

    se voglio ricaricare 2 div e basta come devo fare, utilizzando quello che mi hai proposto?

    ho ad esempio:

    <div="1">
    da ricaricare
    </div>

    <div="2">
    resta sempre lo stesso

    <div="3>
    da ricaricare
    </div>

    Mi puoi fare un esempio pratico per favore?

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Mi metti un poco a disagio, perchè ti ho fornito un esempio funzionante (l'ultimo)

    scaricati la libreria prototype.js all'indirizzo:

    http://prototype.conio.net

    dopo di che usa l'esempio fornito
    Pietro

  6. #6
    Ok ci proverò ciao e grazie per l'aiuto. In caso scriverò qui se ho dei problemi...

    Ma al posto dello script che ho fatto io devo mettere quello che hai scritto tu?

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da fedex05
    Ok ci proverò ciao e grazie per l'aiuto. In caso scriverò qui se ho dei problemi...

    Ma al posto dello script che ho fatto io devo mettere quello che hai scritto tu?
    Dio Santo Benedetto! un esempio è un esempio, e come tale lo devi trattare Lo devi adattare al tuo caso specifico
    Pietro

  8. #8
    Cavoli non prendertela....non ne so molto di javascript, scusa

    Ciao ciao

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da fedex05
    Cavoli non prendertela....non ne so molto di javascript, scusa

    Ciao ciao

    :rollo: siamo qui se c'è bisogno.
    Pietro

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.