Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461

    Problema con javascript e Explorer 8 select concatenate

    Ciao a tutti!


    ho un problema con un codice javascript che mi genera delle select dipendentitra di loro...

    il codice funziona perfettamente il problema che mi sta facnedo impazzire è che in Firefox, una volta che seleziono delle option dalle mie select e passo i valori delle value nella pagina successiva funziona in modo corretto...

    mentre in Explorer 8 questo non avviene, ossia le select dipendenti vanno bene...solo che quando devo ricavare la value delle option queste mi risultano vuote...

    se volete questo è il codice che genera le mie select:

    <script language="JavaScript" type="text/javascript">
    <!--

    // This script supports an unlimited number of linked combo boxed
    // Their id must be "combo_0", "combo_1", "combo_2" etc.
    // Here you have to put the data that will fill the combo boxes
    // ie. data_2_1 will be the first option in the second combo box
    // when the first combo box has the second option selected

    // first combo box

    data_1 = new Option("Italia");
    data_2 = new Option("Svizzera");

    // second combo box

    data_1_1 = new Option("Lombardia");


    data_1_1_1 = new Option("Como");



    data_1_1_2 = new Option("Milano");


    data_1_2 = new Option("Piemonte");


    data_1_2_1 = new Option("Torino");


    data_1_3 = new Option("Veneto");

    data_1_4 = new Option("Trentino");

    data_1_5 = new Option("Toscana");

    data_2_1 = new Option("Ticino");


    // other parameters

    displaywhenempty="-Seleziona-"
    valuewhenempty=-1

    displaywhennotempty="-Seleziona-"
    valuewhennotempty=0

    function change(currentbox) {
    numb = currentbox.id.split("_");
    currentbox = numb[1];

    i=parseInt(currentbox)+1

    // I empty all combo boxes following the current one

    while ((eval("typeof(document.getElementById(\"combo_"+i +"\"))!='undefined'")) &&
    (document.getElementById("combo_"+i)!=null)) {
    son = document.getElementById("combo_"+i);
    // I empty all options except the first one (it isn't allowed)
    for (m=son.options.length-1;m>0;m--) son.options[m]=null;
    // I reset the first option
    son.options[0]=new Option(displaywhenempty,valuewhenempty)
    i=i+1
    }

    // now I create the string with the "base" name ("stringa"), ie. "data_1_0"
    // to which I'll add _0,_1,_2,_3 etc to obtain the name of the combo box to fill

    stringa='data'
    i=0
    while ((eval("typeof(document.getElementById(\"combo_"+i +"\"))!='undefined'")) &&
    (document.getElementById("combo_"+i)!=null)) {
    eval("stringa=stringa+'_'+document.getElementById( \"combo_"+i+"\").selectedIndex")
    if (i==currentbox) break;
    i=i+1
    }

    // filling the "son" combo (if exists)

    following=parseInt(currentbox)+1

    if ((eval("typeof(document.getElementById(\"combo_"+f ollowing+"\"))!='undefined'")) &&
    (document.getElementById("combo_"+following)!=null )) {
    son = document.getElementById("combo_"+following);
    stringa=stringa+"_"
    i=0
    while ((eval("typeof("+stringa+i+")!='undefined'")) || (i==0)) {

    // if there are no options, I empty the first option of the "son" combo
    // otherwise I put "-select-" in it

    if ((i==0) && eval("typeof("+stringa+"0)=='undefined'"))
    if (eval("typeof("+stringa+"1)=='undefined'"))
    eval("son.options[0]=new Option(displaywhenempty,valuewhenempty)")
    else
    eval("son.options[0]=new Option(displaywhennotempty,valuewhennotempty)")
    else
    eval("son.options["+i+"]=new Option("+stringa+i+".text,"+stringa+i+".value)")
    i=i+1
    }
    //son.focus()
    i=1
    combostatus=''
    cstatus=stringa.split("_")
    while (cstatus[i]!=null) {
    combostatus=combostatus+cstatus[i]
    i=i+1
    }
    return combostatus;
    }
    }

    //-->
    </script>

    <form name="villa" method="post" action="2.asp" >

    PAESI:
    <select name="combo0" id="combo_0" onChange="change(this);" style="width:200px;">
    <option value="value1">-Seleziona Paese-</option>
    <option value="Italia">Italia</option>
    <option value="Svizzera">Svizzera</option>

    </select>
    REGIONI:
    <select name="combo1" id="combo_1" onchange="change(this);" style="width:200px;" >
    <option value="value1">-Seleziona-</option>
    </select>
    CITTA':
    <select name="combo2" id="combo_2" onChange="change(this);" style="width:200px;" >
    <option value="value1">-Seleziona-</option>
    </select>

    <input type="submit" name="vai" value="invia" />
    </form>



    spero che qualcuno possa aiutarmi..

    grazie.

    Ciao!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    new Option("Descrizione Testuale","Valore");

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461
    grazie!
    ora funziona!!!

    grazie ancora!!

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.