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

    Javascript e Xml con Prototype

    Ciao a tutti, io ho un piccolo problemino con il parsing xml:

    il mio file xml è questo:

    <?xml version="1.0"?>
    <index>
    <nome val="Pippo"></nome>
    <nome val="Topolino"></nome>
    <nome val="Pluto"></nome>
    </index>


    utilizzo la libreruia prototype.js reperibile a questo indirizzo:
    http://prototype.conio.net/

    la mia pagina di prova è questa:

    <html>
    <head>
    <script language="JavaScript" src="prototype.js"></script>
    <script>
    function carica() {
    new Ajax.Request('index.xml',{onComplete: completa});
    }
    function completa(originalRequest){
    parentnode=originalRequest.responseXML.getElements ByTagName("index")[0].childNodes;
    for (i=0;i<parentnode.length;i++) {
    if ( parentnode[i].nodeType != 1 )
    continue;
    alert(parentnode[i].getAttribute("val"));
    }
    }
    </script>
    </head>
    <body onLoad="carica();">
    </body>
    </html>



    il problema è che funziona perfettamente su mozilla mentre su internet explorer non va niente
    a quanto pare perchè secondo IE originalRequest.responseXML.getElementsByTagName(" index") ha lunghezza 0

    come faccio a risolvere seciondo voi?

    Grazie ^__^

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    a me sembra che funzioni, con IE6 e Firefox

    questa è la pagina html di prova
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Pagina senza titolo</title>
        <script type="text/javascript" src="../js/prototype-1.4.0.js"></script>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    function Button1_onclick() 
    {
        new Ajax.Request("index.xml", {onComplete:completa, method: "get"} );
    }
    function completa(originalRequest)
    {
        parentnode = originalRequest.responseXML.getElementsByTagName("index")[0].childNodes;
        for (i = 0; i< parentnode.length; i++) 
        {
            if ( parentnode[i].nodeType != 1 )
                continue;
            alert(parentnode[i].getAttribute("val"));
        }
    }
    
    // ]]>
        </script>
    </head>
    <body>
        <input id="Button1" type="button" value="button" onclick="return Button1_onclick()" />
    </body>
    </html>
    mi compaiono 3 alert, Pippo, Topolino, Pluto

    il file xml è
    codice:
    <?xml version="1.0"?>
    <index>
        <nome val="Pippo"></nome>
        <nome val="Topolino"></nome>
        <nome val="Pluto"></nome>
    </index>
    Pietro

  3. #3
    e come mai non mi funziona con internet explorer?

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da marcolanaro
    e come mai non mi funziona con internet explorer?
    sinceramente mi dava noie pure a me. Prova e riprova ho fatto la richiesta via get e non post ed ha funzionato con IE e Firefox. Di più non so
    Pietro

  5. #5
    lo faccio get, ma niente da fare.
    inoltre se provo a fare un alert con
    originalRequest.responseText

    mi funziona anche su quel maledetto IE

    non riesco a darne fuori :master:

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 © 2025 vBulletin Solutions, Inc. All rights reserved.