Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    30

    problema script che usa tag select

    ho il seguente script:

    Codice PHP:
    <script language="Javascript"> function dennis(selezionata){ 
    ar_uno=new Array() 
    ar_due=new Array() 
    ar_tre=new Array() 

    ar_uno[0]=new Option('uno1','uno1'
    ar_uno[1]=new Option('uno2','uno2'
    ar_uno[2]=new Option('uno3','uno3'
    ar_uno[3]=new Option('uno4','uno4'

    ar_due[0]=new Option('due1','due1'
    ar_due[1]=new Option('due2','due2'
    ar_due[2]=new Option('due3','due3'

    ar_tre[0]=new Option('tre1','tre1'
    ar_tre[1]=new Option('tre2','tre2'
    ar_tre[2]=new Option('tre3','tre3'

    if(
    selezionata=="uno")array_rif=ar_uno 
    if(selezionata=="due")array_rif=ar_due 
    if(selezionata=="tre")array_rif=ar_tre 

    for(i=0;i<array_rif.length;i++){ 
    document.form1.seconda.options[i]=array_rif[i


    </script> 

    <form name="form1"> 
    <select name="prima" onChange="dennis(this[this.selectedIndex].value)"> 
    <option value="uno">UNO</option> 
    <option value="due">DUE</option>
     <option value="tre">TRE</option> 
    </select> <select name="seconda">
     <option value="uno1">uno1</option>
     <option value="uno2">uno2</option>
     <option value="uno3">uno3</option>
     <option value="uno4">uno4</option>
    </select>

    </form> 
    questo carica nel secondo select del form i link contenuti nell'array relativo alla scelta fatta nel primo select:
    il problema è che se la lunghezza degli array non è uguale tra i 3 array ar_uno, ar_due, ar_tre (ar_uno ha length 4, gli altri 3), quando nel primo select scelgo DUE o TRE alla fine del secondo (select) mi aggiunge il campo in più che ha ar_uno (uno4).
    ecco lo script in azione:
    http://obante.altervista.org/prova/prova.html

    non sono un asso in javascript e non riesco proprio a trovare l'errore..
    qualche idea??
    grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,997
    document.form1.seconda.length=0;
    // prima di
    for(i=0;i<array_rif.length;i++){
    document.form1.seconda.options[i]=array_rif[i]
    }

    se non dovesse funzionare usa:

    for(i=document.form1.seconda.length;i>0;--i{
    document.form1.seconda.options[i]=null;
    }
    // sempre prima di
    for(i=0;i<array_rif.length;i++){
    document.form1.seconda.options[i]=array_rif[i]
    }


    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
    Oct 2005
    Messaggi
    30
    grandissimo...grazie mille

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 © 2020 vBulletin Solutions, Inc. All rights reserved.