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

    [AJAX] Far eseguire funzione Ajax su evento onload

    Buongiorno a tutti.
    Innanzitutto il mio sito è in ASP.
    La pagina che ho realizzato utilizza l'ajax sull'evento onclick, ma io vorrei che lo facesse anche sull'evento onload del body o del div in cui l'ajax mi mette i risultati.
    Questo è il javascript:
    codice:
    var XMLHTTP;
    
        function Richiesta_scheda(cartella, ufficio, immobile) {
            var url = "associa_img.asp?cartella=" + cartella + "&ufficio=" + ufficio + "&immobile=" + immobile;
            XMLHTTP = RicavaBrowser(CambioStato);
            XMLHTTP.open("GET", url, true);
            XMLHTTP.send(null);
            var s = document.getElementsByName("ico");
            for (i = 0; i < s.length; i++) {
                if (s[i].getAttribute("id") != cartella) {
                    s[i].src = "../../images/directory.jpg";
                }
            }
            var r = document.getElementById(cartella);
            r.src = "../../images/directory_open.jpg";
    
        }
    
    function CambioStato() {
        if (XMLHTTP.readyState == 4) {
            var R = document.getElementById("risultati");
            R.innerHTML = XMLHTTP.responseText;
        }
    }
    
    function RicavaBrowser(QualeBrowser) {
        if (navigator.userAgent.indexOf("MSIE") != (-1)) {
            var Classe = "Msxml2.XMLHTTP";
            if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
            {
                Classe = "Microsoft.XMLHTTP";
            }
            try {
                OggettoXMLHTTP = new ActiveXObject(Classe);
                OggettoXMLHTTP.onreadystatechange = QualeBrowser;
                return OggettoXMLHTTP;
            }
            catch (e) {
                alert("Errore: l'ActiveX non verrà eseguito!");
            }
        }
        else if (navigator.userAgent.indexOf("Mozilla") != (-1)) {
            OggettoXMLHTTP = new XMLHttpRequest();
            OggettoXMLHTTP.onload = QualeBrowser;
            OggettoXMLHTTP.onerror = QualeBrowser;
            return OggettoXMLHTTP;
        }
        else {
            alert("L'esempio non funziona con altri browser!");
        }
    }
    e l'evento onload lo richiamo così:
    codice:
    	<body <%if Request.QueryString("cartella")<>"" then Response.Write("onload=""Javascript:Richiesta_scheda('"&Request.QueryString("cartella")&"',"&IDUfficio&","&Request.QueryString("id")&"); """) End if	%>>
    L'evento onlic funziona correttamente, mentre l'onload non va, indifferentemente dal tag sul quale lo metto...
    Dove sbaglio?
    Grazie in anticipo

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    togli java-script: dal evento che diventerà onload=""Richiesta_scheda(.... e verifica che non ci siano altri onload nella pagina/documento.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    ho tolto Javascritp e ho verificato (andando a visualizzare l'html della pagina visualizzata dal browser) che ci fosse un solo onload, ma ancora nulla...

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Mi sembra un interrogatorio hai provato a mettere degli alert per vedere se la funzione viene processata? Oppure posta un link alla pagina pubblica demo.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Ho messo un alert che va quando aziono l'evento onclic, mentre non dà segni di vita sull'evento onload.
    Ecco la demo
    http://www.sirio8.it/associazione_im....asp?id=238511

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    nella demo non vedo nessuna chiamata all'onload, inserisci la chiamata nella demo cosi ci do un occhiata...

  7. #7
    hai ragione: l'onload si attiva solo se c'è un particolare parametro via GET

    http://www.sirio8.it/associazione_i....tella=generale

    ho notato una cosa però!!! la demo va!

    potrebbe esserci un qualche conflitto nel file originale?

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    non saprei che conflitto possa avvenire al momento non mi viene in mente niente... per prima cosa mi assicurerei che il codice della demo e dell'originale siano uguali... per scongiurare qualsiasi errore di distrazione. Poi verificherei se l'apertura e chiusura degli apici/virgolette viene effettuata correttamente, ad esempio nel codice ce hai postato non mi sembrano corretti a meno che sia il forum a togliere alcuni caratteri, cmq per sicurezza fai una verifica.

  9. #9
    Le demo le ho create copiando i files originali, modificando i link e togliendo i controlli sul login. Quindi non credo che ci siano differenze sostanziali tra le due

    Nel file originale il body risulta così:
    codice:
    <body onload="Richiesta_scheda('generale',187,238511); ">
    Nella demo:
    codice:
    <body onload="Richiesta_scheda('generale',187,238511); ">
    per cui sono identici

  10. #10
    nessuno mi sa dire qualcosa?

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.