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

    select dinamiche, problema FF

    Un giorno di disperazione ... siete la mia ultima possibilità!

    Ho una combo dove scelgo la PROVINCIA, la scelgo, il parametro mi viene passato tramite un JS Ajax ad una pagina che esegue una query e mi mostra una seconda combo con i COMUNI.

    Il problema è che quella seconda combo non mi passa alcun valore nel form se siamo su firefox, con ie tutto ok. ... colpa dell'innerhtml? Se così fosse come faccio?



    FORM INIZIALE (NEL DIV RISULTATI APPARE LA COMBO CON I COMUNI):

    <SELECT NAME="province" onchange="Comuni(this.value)">
    ...
    </SELECT><div id="risultati"></div>



    AJAX CHE PASSA IL VALORE ALLA PAGINA CON LA QUERY COMUNI

    var XMLHTTP;

    function Comuni(ID)
    {
    if (parseInt(ID) > 0)
    {
    var url = "comuni.asp?id=" + ID;
    XMLHTTP = RicavaBrowser(CambioStato);
    XMLHTTP.open("GET", url, true);
    XMLHTTP.send(null);
    }
    else
    {
    document.getElementById("risultati").innerHTML = "";
    }
    }


    function CambioStato()
    {
    if (XMLHTTP.readyState == 1)
    {
    var R = document.getElementById("risultati");
    R.innerHTML='...';
    }

    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!");
    }
    }
    Marco Lombardo.
    Le inezie fanno la prefezione, e la perfezione non è una inezia (Michelangelo).
    about.me/marco.lombardo
    marco.lombardo@gmail.com

  2. #2
    Il tutto è un adattamento di questo
    http://www.mrwebmaster.it/ajax/artic...jax_924_2.html

    nessun suggerimento, nessuno ha fatto delle select dinamiche?
    Marco Lombardo.
    Le inezie fanno la prefezione, e la perfezione non è una inezia (Michelangelo).
    about.me/marco.lombardo
    marco.lombardo@gmail.com

  3. #3
    Prova a vedere questo post sul mio blog, che tratta proprio quello, e vedi se l'esempio si può adattare alla tua esigenza...

    Popolare dinamicamente una select con Asp e Ajax

    Scaricati l'esempio e adattalo...o usalo così com'è..

    Ciao

  4. #4
    grazie ale sei un mito!!!!
    c'è un problemino, ho adattato il tuo script ma al posto di veder comparire la combo desiderata mi esce una scritta: undefined

    Ti viene in mente nulla? Sotto lo script modificato..


    var estrai_comuni;
    var province

    function cerca_comuni()
    {

    province=document.form.province.options[document.form.province.selectedIndex].value
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
    estrai_comuni= new XMLHttpRequest();
    estrai_comuni.onreadystatechange= ricevi_comuni;
    estrai_comuni.open("GET", "comuni.asp?id="+province, true);
    estrai_comuni.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
    estrai_comuni= new ActiveXObject("Microsoft.XMLHTTP");
    if (estrai_comuni) {
    estrai_comuni.onreadystatechange = ricevi_comuni;
    estrai_comuni.open("GET", "comuni.asp?id="+province, true);
    estrai_comuni.send();
    }
    }
    }


    function ricevi_comuni() {
    var comuni;
    if (estrai_comuni.readyState == 1) {
    comuni=ricevi_comuni.responseText;
    document.getElementById("risultati").innerHTML = " [img]images/icon_loading.gif[/img] ";
    }
    if (estrai_comuni.readyState == 4) {
    comuni=ricevi_comuni.responseText;
    document.getElementById("risultati").innerHTML = comuni;
    }
    }
    Marco Lombardo.
    Le inezie fanno la prefezione, e la perfezione non è una inezia (Michelangelo).
    about.me/marco.lombardo
    marco.lombardo@gmail.com

  5. #5
    Ho trovato l'errore, adesso funziona, mi restituisce la combo con i comuni, ma una volta scelto il campo, invio la form ma nella pagina successiva non mi trovo nessun valore.
    Insomma cambiato lo scripr ma sempre il solito problema con FIREFOX ... con ie il valore passa.

    Posto lo scirpt


    var estrai_comuni;
    var ricevi_comuni;
    var province;

    function cerca_comuni()
    {
    province=document.form.province.options[document.form.province.selectedIndex].value
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
    estrai_comuni = new XMLHttpRequest();
    estrai_comuni.onreadystatechange = ricevi_comuni;
    estrai_comuni.open("GET", "comuni.asp?id="+province, true);
    estrai_comuni.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
    estrai_comuni= new ActiveXObject("Microsoft.XMLHTTP");
    if (estrai_comuni) {
    estrai_comuni.onreadystatechange = ricevi_comuni;
    estrai_comuni.open("GET", "comuni.asp?id="+province, true);
    estrai_comuni.send();
    }
    }
    }

    function ricevi_comuni() {
    var comuni;
    if (estrai_comuni.readyState == 1) {
    comuni=estrai_comuni.responseText;
    document.getElementById("risultati").innerHTML = " [img]images/icon_loading.gif[/img] ";
    }
    if (estrai_comuni.readyState == 4) {
    comuni=estrai_comuni.responseText;
    document.getElementById("risultati").innerHTML = comuni;
    }
    }
    Marco Lombardo.
    Le inezie fanno la prefezione, e la perfezione non è una inezia (Michelangelo).
    about.me/marco.lombardo
    marco.lombardo@gmail.com

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Post il link alla demo pubblica.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Boh...prova a vedere bene, perché lo script funziona anche su FireFox.

    Se torni all'esempio che ti ho linkato prima sul mio blog, ora ho aggiunto il submit per vedere il risultato dei dati inviati dalla form, così vedi che passano tutti e tre gli id, della regione, della provincia e del comune.

    Riprova e facci sapere...

  8. #8
    Ale per cortesia mi faresti vedere come invii i dati? Nel senso, io ho un form classico dove appare ad un certo punto la combo con i comuni. Poi scelgo il comune ed invio il form ma nulla, non passa il valore su FF.

    Ho fatto una pagina di prova x farvi capire:

    http://www.truesal.com/prova.asp

    Ringrazio tutti per eventuali contributi.
    Marco Lombardo.
    Le inezie fanno la prefezione, e la perfezione non è una inezia (Michelangelo).
    about.me/marco.lombardo
    marco.lombardo@gmail.com

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    <table class="formtable"><form method="post" name="form" onSubmit="return checkrequired(this)" action="prova1.asp">
    cambia cosi:
    <form method="post" name="form" onSubmit="return checkrequired(this)" action="prova1.asp"><table class="formtable">
    cioè la tabella dentro il form non il contrario, dovrebbe andare.


    Javascript da paura.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    non ho parole, funziona!
    ma posso essere così niubbo?!?!
    certo rimane il dubbio sul perchè un volore lo passasse ed un altro no, ma è meglio non farsi domande.
    vi ringrazio davvero per il supporto!
    Marco Lombardo.
    Le inezie fanno la prefezione, e la perfezione non è una inezia (Michelangelo).
    about.me/marco.lombardo
    marco.lombardo@gmail.com

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.