Visualizzazione dei risultati da 1 a 5 su 5

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    12

    Spiegazione codice per menu a tendina in cascata

    Ciao a tutti, chiedo un aiuto per meglio capire il funzionamento del codice sottostante...
    Dovrei realizzare due menu a tendina concatenati (il secondo mostra dati in funzione del primo) e fino qui ci sono arrivato modificando script trovati in rete... Mi piacerebbe però capire un po' meglio "perchè funziona"!

    Qualcuno può commentare un po' il codice?!

    Grazie mille!

    codice HTML:
    <html>
    <head>
    <script type="text/javascript">
    
    /* VIENE CREATO UNA NUOVA VARIABILE (O DUE?) DI TIPO ARRAY, NOME REGIONDB, CHE IN FUNZIONE DEL PARAMETRO PASSATO (AU - AE) CONTIENE DEI VALORI. MA A CHE SERVE "VALUE:"102" ECC...? SONO ATTRIBUITI A CASO? */
    
    var regiondb = new Object()
    regiondb["au"] = [{value:"102", text:"Autostrada urbana (A-urb)"},
                          {value:"88", text:"Urbana di scorrimento (D)"},
                          {value:"80", text:"Urbana di quartiere (E)"},
                          {value:"55", text:"Locale urbana (F-urb)"}];
    
    regiondb["ae"] = [{value:"30", text:"Extraurbana principale (B)"},
                        {value:"21", text:"Extraurbana secondaria (C)"},
                        {value:"49", text:"Locale extraurbana (F-ex)"}];
    
    
    /* QUESTA DOVREBBE ESSERE LA PRIMA FUNZIONE INVOCATA DAL PRIMO SELECT; TRAMITE "CHOOSER" RICEVE L'ARGOMENTO PASSATO DAL "THIS" */
    
        
    function setambito(chooser) { 
       
    var newElem; /* SI CREA VARIABILE NEWELEM */
    
    /* SI CREA VARIABILE WHERE CHE VALE - 1 SE SI STA NAVIGANDO CON I.E., OPPURE NULL SE SI UTILIZZA UN ALTRO BROWSER. MA CHE SIGNIFICA IL "?" ? */
        var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
    
    
    /* SI CREA UNA VARIABILE CITYCHOOSER MA CHE CONTIENE???? */    
    var cityChooser = chooser.form.elements["tipostrada"];
    
    /* QUI CHE SUCCEDE???? */
        while (cityChooser.options.length) {
            cityChooser.remove(0);    
    }    
    var choice = chooser.options[chooser.selectedIndex].value;
    
    
    /* SI CREA UNA VARIABILE DB E GLI INSERISCO L'ARRAY REGIONDB CORRISPONDENTE ALLA SCELTA FATTA NEL 1 SELECT CHE GLI VIENE PASSATO CON L'OPERATORE CHOICE */
        var db = regiondb[choice];
    
    
    /* QUI CHE SUCCEDE???? */    
    newElem = document.createElement("option");    
    newElem.text = "Seleziona un tipo di strada";    
    newElem.value = "";    
    cityChooser.add(newElem, where);    
    if (choice != "") {        
    for (var i = 0; i < db.length; i++) 
    {           
    newElem = document.createElement("option");
    newElem.text = db[i].text;            
    newElem.value = db[i].value;            
    cityChooser.add(newElem, where);        
    }    
    }}
    </script>
    
    /* QUI C'E' IL CODICE HTML CHE MOSTRA IL PRIMO SELECT, CHIAMA UNA FUNZIONE E RICHIAMA UNA PAGINA PHP ESTERNA */
    
    </head>    
    <body >    
    <br /><br />    
    <form name="form" method="post" action="amm.php">
            Ambito svolgimento strada principale: 
    
    /* ALL'EVENTO ONCHANGE VIENE RICHIAMATA LA FUNZIONA JS "SETAMBITO" PASSANDOGLI IL VALORE SELEZIONATO TRAMITE "THIS" */
    
               <select name="ambito" onchange="setambito(this)">
                <option value="" selected="selected">Seleziona</option>
                <option value="au">Urbana</option>
                <option value="ae">Extra urbana</option> 
           </select>
    
    /* QUI NON CAPISCO COME IL SELECT "TIPOSTRADA" SI POPOLI CON I VALORI, CHI GLIELI PASSA??? */
            <select name="tipostrada">
                <option value="" selected="selected">Seleziona</option>
            </select>
    /* CLICCANDO IL BOTTONE SI RICHIAMA LA PAG. PHP E GLI SI PASSANO I VALORI */
    
            <input type="submit" value="Prosegui" />
        </form>    
    </div>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    12
    Nessuna idea?! cercando in internet ho aggiunto qualche specifica in più...
    Help pls!!!!


    codice HTML:
    <html><head><script type="text/javascript">
    /* VENGONO CREATI DUE NUOVI OGGETTI DI TIPO ARRAY, NOME REGIONDB["au"] E REGIONDB["ae"], CON ATTRIBUTI (VALUE E TEXT) */
    var regiondb = new Object()regiondb["au"] = [{value:"102", text:"Autostrada urbana (A-urb)"},                      {value:"88", text:"Urbana di scorrimento (D)"},                      {value:"80", text:"Urbana di quartiere (E)"},                      {value:"55", text:"Locale urbana (F-urb)"}];
    regiondb["ae"] = [{value:"30", text:"Extraurbana principale (B)"},                    {value:"21", text:"Extraurbana secondaria (C)"},                    {value:"49", text:"Locale extraurbana (F-ex)"}];
    
    /* QUESTA DOVREBBE ESSERE LA PRIMA FUNZIONE INVOCATA DAL PRIMO SELECT; IN "CHOOSER" VIENE MESSO L'ARGOMENTO PASSATO DAL "THIS" */
        function setambito(chooser) {    var newElem; /* SI CREA VARIABILE NEWELEM */
    /* SI CREA VARIABILE WHERE CHE VALE - 1 SE SI STA NAVIGANDO CON I.E., OPPURE NULL SE SI UTILIZZA UN ALTRO BROWSER. (OPERATORE TERNARIO) */    var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
    
    /* SI CREA UNA VARIABILE CITYCHOOSER MA CHE CONTIENE???? PROBABILMENTE NULLA AL PRIMO CARICAMENTO*/    var cityChooser = chooser.form.elements["tipostrada"];
    /* QUI PENSO CHE AZZERI IL CONTENUTO DI  CITYCHOOSER NEL CASO VENGA FATTO UNA SECONDA SELEZIONE NEL PRIMO SELECT*/    while (cityChooser.options.length) {        cityChooser.remove(0);    }    
    /* NELLA VARIABILE CHOICE GLI METTO QUANTO è LUNGO IL regiondb SCELTO TRAMITE L'INDICE ["au"]*/var choice = chooser.options[chooser.selectedIndex].value;
    
    /* SI CREA UNA VARIABILE DB E GLI INSERISCO L'ARRAY REGIONDB CORRISPONDENTE ALLA SCELTA FATTA NEL 1 SELECT CHE GLI VIENE PASSATO CON L'OPERATORE CHOICE */    var db = regiondb[choice];
    
    /* QUI CHE SUCCEDE???? SI CREANO LE OPZIONI DEL SELECT?*/    newElem = document.createElement("option");    newElem.text = "Seleziona un tipo di strada";    newElem.value = "";    cityChooser.add(newElem, where);    if (choice != "") {        for (var i = 0; i < db.length; i++) {           newElem = document.createElement("option");newElem.text = db[i].text;            newElem.value = db[i].value;            cityChooser.add(newElem, where);        }    }}</script>
    /* QUI C'E' IL CODICE HTML CHE MOSTRA IL PRIMO SELECT, CHIAMA UNA FUNZIONE E RICHIAMA UNA PAGINA PHP ESTERNA */
    </head>    <body >    <br /><br />    <form name="form" method="post" action="amm.php">        Ambito svolgimento strada principale: 
    /* ALL'EVENTO ONCHANGE VIENE RICHIAMATA LA FUNZIONA JS "SETAMBITO" PASSANDOGLI IL VALORE SELEZIONATO TRAMITE "THIS" */
               <select name="ambito" onchange="setambito(this)">            <option value="" selected="selected">Seleziona</option>            <option value="au">Urbana</option>            <option value="ae">Extra urbana</option>        </select>
    /* QUI NON CAPISCO COME IL SELECT "TIPOSTRADA" SI POPOLI CON I VALORI, CHI GLIELI PASSA??? */        <select name="tipostrada">            <option value="" selected="selected">Seleziona</option>        </select>/* CLICCANDO IL BOTTONE SI RICHIAMA LA PAG. PHP E GLI SI PASSANO I VALORI */
            <input type="submit" value="Prosegui" />    </form>    </div></body></html>

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da stem81 Visualizza il messaggio
    Ciao a tutti, chiedo un aiuto per meglio capire il funzionamento del codice sottostante...
    Dovrei realizzare due menu a tendina concatenati (il secondo mostra dati in funzione del primo) e fino qui ci sono arrivato modificando script trovati in rete... Mi piacerebbe però capire un po' meglio "perchè funziona"!

    Qualcuno può commentare un po' il codice?!
    Se vuoi capire il funzionamento il forum è il posto sbagliato, perché non può farti da tutor l'unica e studiare, oltretutto a tutta l'aria di un compito camuffato.... ma forse mi sbaglio
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    12
    Non si tratta di un compito camuffato....! mi serve per sviluppare una funzione a lavoro... oltre che copiare e mettere in fila righe di codice, che pure funzionano, mi piacerebbe capire il perchè, almeno se ho problemi ho una vaga idea su dove guardare...!

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se è per lavoro motivo in più per studiare il javascript, comunque e un voglio "esagerare" con l'OT spera che non tutti la pensino come me auguri.
    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.