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

    Compatibilità Ajax e IE7

    Ciao RAGA..
    H0 ancora un problema!!!

    Ho un problema con il browser IE versione 7, che mi da' problemi con AJAx..
    In realtà tutto lo sviluppo l'ho fatto testatndo solo su Firefox..e adesso mi accorgo che qualcosa non va!!!

    Eppure ho aggiunto le istruzioni necessarie ad inizio script..
    Vi posto cosa ho scritto e quale errore mi viene fuori

    codice:
     function setXMLHttpRequest() {
               var xhr = null;
               // browser standard con supporto nativo
               if (window.XMLHttpRequest) {
                 xhr = new XMLHttpRequest();
               }
               else if (window.ActiveXObject) {
                 xhr = new ActiveXObject("Microsoft.XMLHTTP");
               }
               return xhr;
             }
    
             var xhrObj = setXMLHttpRequest();
    
             function populateList() {
               var par = document.forms[0].elements[0].value;
               var url = 'leggi.php?par=' + par;
               xhrObj.open('GET', url, true);
               xhrObj.onreadystatechange = getRicerca;
               xhrObj.send(null);
             }

    Questo l'errore
    codice:
    Codice: Seleziona tutto
        Linea:21
        carattere:8
        Errore :'xhrObj' è nullo o non è un oggetto
        Codice :0

    La linea 21 è questa:
    xhrObj.open('GET', url, true);

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Per risolvere il problema dello script postato fai cosi:
    cambia questa riga
    var xhrObj = setXMLHttpRequest();
    con questa
    var xhrObj = xhr;
    Ma potrebbe darti problemi con browser (IE) più vecchi visita la sezione javascript.html.it ci sono script corssbrowser compatibili.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ciao!
    Grazie dell'aiuto..ma purtroppo contiuna a non funzionare...

    Il vero problema è che non posso modificare più di tanto il codice perchè è per un'esame dell'università e dobbiamo seguire il modello datoci dal prof..
    Se hai altre idee o consigli..grazie mille!!!

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Sorry!!! Mi son sbagliato io ripristina come in origine, con che browser riscontri l'errore?
    Vedi qui
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Ciao!

    Ho letto il link che mi hai segnalato e ho provato ad inserire lo script di esempio, ma non mi funziona lo stesso.
    Il problema lo riscontro solo con IE (ho la versione 7), mentre con Firefox (che ho usato per lo sviluppo di questo progettino) non mi crea alcun problema..

    Qui di seguito posto l'intera pagina..magari gli errori sono altrove!
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <script>
     function setXMLHttpRequest() {
           var xhr = null;
           // browser standard con supporto nativo
           if (window.XMLHttpRequest) {
             xhr = new XMLHttpRequest();
           }
             else if (window.ActiveXObject) {
             xhr = new ActiveXObject("Microsoft.XMLHTTP");
           }
           return xhr;
         }
    
         var xhrObj = setXMLHttpRequest();
    
         function populateList() {
           var par = document.forms[0].elements[0].value;
           var url = 'leggi.php?par=' + par;
           xhrObj.open('GET', url, true);
           xhrObj.onreadystatechange = getRicerca;
           xhrObj.send(null);
         }
    
         function getRicerca() {
           if(xhrObj.readyState == 4 && xhrObj.status == 200) {
             document.getElementById('risultati').innerHTML = "<label for='risultati'>Scelgi:</label><select id='risultato' class='text' name='risultato'>" + xhrObj.responseText + "</select>";
           }
           else {
             document.getElementById('risultati').innerHTML = 'Errore: ricerca fallita!';
           }
         };
    
         function populateList2() {
           var aut = document.forms[0].elements[1].value;
           var url = 'leggi2.php?aut=' + aut;
           xhrObj.open('GET', url, true);
           xhrObj.onreadystatechange = getArticolo;
           xhrObj.send(null);
         }
    
         function getArticolo() {
           if(xhrObj.readyState == 4 && xhrObj.status == 200) {
             document.getElementById('articoli').innerHTML = "<label for='articoli'>Scelgi:</label><select id='articolo' class='text' name='articolo'>" + xhrObj.responseText + "</select>";
           }
           else {
             document.getElementById('articoli').innerHTML = 'Errore: ricerca fallita!';
           }
         }
    </script>
      <head>
    <meta name="author" content="Luka Cvrk (solucija.com)" />
        <meta http-equiv="content-type" content="text/html; charset=utf-8;no-cache" />
        <link rel="stylesheet" href="css/main.css" type="text/css" media="screen, projection" />
        <title>ArticoloDiciannove - LeggiArticoli</title>
    </head>
    <?session_start();?>
    <body id="home">
        <div class="wrap">
            <div id="logo" style="width: 299px; height: 24px">
                <h2>ARTICOLO DICIANNOVE</h2>
                
    
    diritto di espressione e di parola</p>
            </div>
            <ul id="nav">[*]<span class="akey">H</span>ome[*]<span class="akey">P</span>aginaPersonale[*]<span class="akey">L</span>eggi[*]<span class="akey">S</span>crivi[*]<span class="akey">I</span>mmagini[*]<span class="akey">Q</span>uiz
                [/list]
        </div>
        <div class="wrap">
            <div id="left">
            <h1>Scegli il parametro di ricerca</h1>
    <FORM METHOD="GET" ACTION="articolo_leggi.php">
     
    
    
      <label for="parametri"> Cerca per:</label>
      <select id="par" class="text" name="par" onchange="populateList()" >
        <option value="">Seleziona un criterio</option>
        <option id="autore" value="autore">Autore</option>
        <option id="titolo" value="titolo">Titolo</option>
        <option id="data" value="data">Data</option>
          </select>
      </p>
    <p id="risultati" name="risultato" onchange="populateList2()">
       </p>
         <P id="articoli" name="articolo">
       </p>
      
    
    
      <INPUT TYPE="Submit" VALUE="Leggi">
     </P>
    </FORM>
    </div>
     <div id="right">
     <h2>ATTENZIONE</h1>
     <p id="info">Nel titolo dell'articolo il carattere apostrofo (') viene sostituito dal carattere asterisco (*)</p>
     </div>
            <div id="footer">
                
    
    Articolo19: Home &middot; Leggi &middot; Scrivi &middot; Immagini &middot; Quiz &middot; Segnala</p>
            </div>      
        </div>
    </body>
    </html>

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    intanto accertati non sia un problema di cache
    cambia var url = 'leggi.php?par=' + par; in
    var url = 'leggi.php?par=' + par + '&amp;cachebuster=' + new Date().getTime();

  7. #7
    Succede qualcosa di strano!!!
    Se sostituisco la stringa, con quella da te consigliata accade questo

    1. al primo caricamento mi riporta lo steso errore di prima.
    2. clicco su aggiorna: mi mostra il secondo menù a tendina, senza darmi errori!
    Ma il terzo menù che dovrebbe comparire non mi compare..la funzione populateList2 non viene invocata!!!

    AIUTO!!!


  8. #8
    Qualcuno ha qualche altra idea???

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Originariamente inviato da Giacc@
    Qualcuno ha qualche altra idea???
    Si posta il link alla pagina cosi verificare il problema.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.