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

    ajax: caricamento pagina non funziona se dentro un form

    Ciao,

    premetto che sono abbastanza nuovo al mondo di AJAX, comunque spulciando qua e là sono riuscito a farmi le mie funzioni JS e ASP per fare uan gestione di categorie contenute in una tabella in un DB.

    il tutto si sviluppa all'interno di <div id="risultati"></div>

    tutto funziona perfettamente, però se posiziono questo div all'interno dei tag <form></form>
    la funzione si impalla e mi viene restituito il seguente errore:

    Errore di run-time sconosciuto

    posto i codici per chiarezza:
    Codice PHP:
    var id_contenitore "risultati";

    function 
    Richiesta(Stringa)
    {
        if (
    Stringa.length 0)
        {

            
    XMLHTTP RicavaBrowser(CambioStato);
            
    XMLHTTP.open("get"Stringatrue);
            
    XMLHTTP.send(null);
           
    //in questo punto si genera l'errore quando questa funzione viene richiamata
           //all'interno dei tag<form></form>
            
    return false;
        }
        else
        {
            
    document.getElementById(id_contenitore).innerHTML "";
        } 
    }




    function 
    CambioStato()
    {
        if (
    XMLHTTP.readyState == 4)
        {
            var 
    document.getElementById(id_contenitore);
            
    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!");
        }


    il tag che richiama le funzioni è questo:

    Codice PHP:
    [url="/includes/admin_cat-inc.asp?tabella=news&amp;operazione=new"]aggiungi o modifica categoria[/url
    che può essere?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,135
    Errore al quanto anomalo.....
    Con tutti i browser?
    La pagina /includes/admin_cat-inc.asp?tabella=news&operazione=new cosa carica? Contiene a sua volta dei form?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Per il momento lo stò solo provando in locale su IE6.

    sembrerebbe che ci sia un problema nel codice asp della pagina chiamata dalla funzione, stò facendo delle prove interrompendo lo script con response.end in punti sempre più bassi del listato.

    vi farò sapere.

  4. #4
    Ho capito cosa genera il blocco però non ho la soluzione.

    la pagina che vado a caricare contiene al suo interno un altro form.

    ho provato a nominare i 2 form con nomi diversi, sia con l'attributo ID sia con l'attributo NAME, ma niente, si blocca sempre.

    per capire meglio, la pagina principale ha un form così:

    <form id="form1" name="form1">

    ..... input vari .....

    <div id="risultati">
    ...codice che richiama la pagina esterna che al suo interno ha un form così:
    <form id="form2" name="form2">
    ..... input vari .....
    </form>

    </div>


    </form>

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,135
    Non puoi annidare due form.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    comeeeee????

    ma ne sei sicuro? perchè se è così è una grossa limitazione!

    ho fatto uno script per la gestione delle categorie all'interno di un form per inserire le news in un sito.
    Prima le due cose erano separate, nel senso che prima uno inseriva le categorie delle news e poi in un'altra pagina inseriva la news e sceglieva le categorie da una SELECT.

    Ora, grazie ad ajax vorrei fare la stessa cosa ma tutto in una pagina.

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,135
    Originariamente inviato da beeky
    comeeeee????

    ma ne sei sicuro? perchè se è così è una grossa limitazione!
    Sono sicuro che non puoi annidare due form nel stessa pagina/documento (<form name="f1">....<form name="f2">...</form></form>) non l'ho mai provato/testato con ajax ma visto che ti restituisce l'errore e togliendo uno dei due form il tutto funziona ritengo che la regola si possa estendere anche ad ajax

    ho fatto uno script per la gestione delle categorie all'interno di un form per inserire le news in un sito.
    Prima le due cose erano separate, nel senso che prima uno inseriva le categorie delle news e poi in un'altra pagina inseriva la news e sceglieva le categorie da una SELECT.

    Ora, grazie ad ajax vorrei fare la stessa cosa ma tutto in una pagina.
    Cambia logica di sviluppo visto che con due form non è possibile.
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.