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

    [Ajax]Script che non funziona con IE 6 e 7

    Salve

    Ho realizzato uno script ajax per popolare una select in modo dinamico con firefox funziona tuttto bene ma con IE(6-7) non ne vuole sapere, posto il codice(l'ho letto e riletto cetinaia di volte e come saprete in questi casi e meglio farsi dare una mano...)

    Codice PHP:
    function new_oggetto() {
        var 
    obj;
        if (
    window.XMLHttpRequest) {    // Non Internet Explorer
            
    obj = new XMLHttpRequest();

        } else if (
    window.ActiveXObject) { // Internet Explorer
            
    obj = new ActiveXObject('Microsoft.XMLHTTP');
        }
        return 
    obj;
    }
    cit=new_oggetto();

    function 
    com (){
    cit.open("POST""comessa.php"true);    
            
        
    cit.setRequestHeader('Content-Type''application/x-www-form-urlencoded');
        
    cit.onreadystatechange =function onState() {    
        
        if (
    cit.readyState === 4) { 
            if (
    cit.status == 200) { 
                
                
    document.getElementById('comessa').innerHTML="ciao";
        
            } else {
                
                
    alert("Errore: "+cit.statusText);
            }
        }

        
    }
            
    cit.setRequestHeader("connection""close");
            
    cliente=escape(document.mod.elements["cliente"].value );
            
    cit.send("cliente="+cliente);    
            } 
    non considerate lo stile che ho riciclato da un vecchio script.
    L'errore dopo numerose prove credo stia nella riga

    document.getElementById('comessa').innerHTML="ciao ";
    li al posto della stringa ciao andrebbe messo il response text di ajax ma non va(neanche la stringa viene visualizzata).Mi affido a voi.

  2. #2
    codice:
    document.getElementById('comessa').innerHTML="ciao";
    funziona solo su ff,opera,safari ecc..

    su microzzoz Internet Exploder dovrebbe andare questo
    codice:
    document.all.namedItem('comessa').innerHTML='ciao';

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da Acciaio il noob
    su microzzoz Internet Exploder dovrebbe andare questo
    il tuo caso era un caso specifico e al 99.9% diverso da questo

    se l' elemento e' presente nel documento e ha un id, document.getElementById('id') vi fa riferimento
    da IE5 in poi

  4. #4
    Originariamente inviato da Acciaio il noob
    codice:
    document.getElementById('comessa').innerHTML="ciao";
    funziona solo su ff,opera,safari ecc..

    su microzzoz Internet Exploder dovrebbe andare questo
    codice:
    document.all.namedItem('comessa').innerHTML='ciao';
    Non credo proprio.
    Su IE document.getElementById è un metodo supportato.

  5. #5

  6. #6
    Ciao,
    forse il problema può essere dovuto al fatto che non si istanzia il corretto oggetto ActiveX. Prova con il seguente codice: in sostituzione della tua funzione "new_oggetto()", richiama "getXMLHttpRequest()".

    //
    // Define a list of Microsoft XML HTTP ProgIDs
    //
    var XMLHTTPREQUEST_MS_PROGIDS = new Array(
    "Msxml2.XMLHTTP.7.0",
    "Msxml2.XMLHTTP.6.0",
    "Msxml2.XMLHTTP.5.0",
    "Msxml2.XMLHTTP.4.0",
    "MSXML2.XMLHTTP.3.0",
    "MSXML2.XMLHTTP",
    "Microsoft.XMLHTTP"
    );

    //
    // Restituisce l'oggetto XMLHttpRequest
    //
    function getXMLHttpRequest()
    {
    var httpRequest = null;

    // Create the appropriate HttpRequest object for the browser.
    if (window.XMLHttpRequest != null)
    httpRequest = new window.XMLHttpRequest();
    else if (window.ActiveXObject != null)
    {
    // Must be IE, find the right ActiveXObject.
    var success = false;
    for (var i = 0;
    i < XMLHTTPREQUEST_MS_PROGIDS.length && !success;
    i++)
    {
    try
    {
    httpRequest = new ActiveXObject(XMLHTTPREQUEST_MS_PROGIDS[i]);
    success = true;
    }
    catch (ex)
    {}
    }
    }

    // Display an error if we couldn't create one.
    if (httpRequest == null)
    alert("Error in HttpRequest():\n\n"
    + "Cannot create an l'oggetto XMLHttpRequest.");

    // Return it.
    return httpRequest;
    }
    "Se in un primo momento l'idea non è assurda, allora non c'è nessuna speranza che si realizzi."

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.