Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: FireFox: Menu nel form

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957

    FireFox: Menu nel form

    Ciao,
    ho notato con rammarico una cosa... spero sia un mio errore:

    ho fatto 2 menu in un form, del tipo select:
    <select><option>...

    in pratica in base al 1° menu si popola il 2° menu usando uno script js.

    Il problema è che quando si va a seleziona il 2° menu il campo si allarga. E continua ad allargarsi per ogni successiva selezione.

    Se invece riselezione un altro campo dal 1° menu, allora torna di dimensione normale. Ma poi, si ripropone il problema.
    Cosa può essere?
    Grazie

  2. #2
    Ho provato chiedere consulenza all'amico del cugino del fratello dello zio della sorella della cugina dell'amica del nonno della sorella della cugina di un mio cugino di secondo grado.

    Mi ha risposto: vediamo il codice!


  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    codice:
    <script..>
    var facoltadb = new Object()
    facoltadb["agraria"] = [{value:"1", text:"Biotecnologie agrarie"},{value:"2", text:"Paesaggio, parchi e giardini"},{value:"3", text:"Scienze e tecnologie agrarie"}];
    facoltadb["economia"] = [{value:"10", text:"Economia aziendale"},{value:"11", text:"Economia e commercio"}];
    facoltadb["farmacia"] = [{value:"13", text:"Chimica e tecnologia farmaceutiche"},{value:"14", text:"Farmacia"},{value:"15", text:"Informazione scientifica sul farmaco"}];
    ....
    ....
    function setCorso(chooser) {
        var newElem;
        var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
        var sceltaCorso = chooser.form.elements["corso"];
        while (sceltaCorso.options.length) {
            sceltaCorso.remove(0);
        }
        var choice = chooser.options[chooser.selectedIndex].value;
        var db = facoltadb[choice];
        newElem = document.createElement("option");
        newElem.text = "Seleziona Corso";
        newElem.value = "";
        sceltaCorso.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].text;
                sceltaCorso.add(newElem, where);
            }
        }
    }
    </script>
    ...
    
    
    <select name="facolta" onchange="setCorso(this)">
    <option value="" selected>Seleziona Facoltà</option>
    <option value="agraria">Agraria</option>
    <option value="economia">Economia</option>
    <option value="farmacia">Farmacia</option>
    </select>
    
    <select name"corso">
    <option value="" selected></option>
    </select>

  4. #4
    Mmm, mi pare tu abbia utilizzato il DOM a dovere, quindi forse non è un problema di standard. Prova a chiedere se ci sono intoppi nell'algoritmo giù nel forum di Scripting.


  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    il DOM? cosa vuol dire?

    meglio aspettare che me lo sposti un moderatore sennò poi mi dicono che posto la stessa cosa su + forum

  6. #6
    Originariamente inviato da GoldEmish
    il DOM? cosa vuol dire?
    Adesso non vorrei uscire dall'argomento, ma lo script lo hai scritto tu?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    no, l'ho trovato da qualche parte...
    l'ho modificato e per funzionare funziona bene,
    ha solo questo problema. Per altro solo su Firefox, non con IE

  8. #8
    Prova a costruire quella porzione di form in altro modo:
    codice:
    <label for="facolta">Seleziona Facolt&agrave;</label> 
    <select id="facolta" name="facolta" onchange="setCorso(this)">
       <option value="agraria">Agraria</option>
       <option value="economia">Economia</option>
       <option value="farmacia">Farmacia</option>
    </select>

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    Ok, provo.
    Ma calcola che il select che si allarga è il 2° quello dei corsi.

  10. #10
    Ah, il secondo. Bè, prova a scriverlo così:
    codice:
    <label for="corso">Seleziona corso</label>
    <select id="corso" name="corso"></select>
    Se hai ancora problemi - sto andando a naso - probabilmente questi sono dati dal fatto che stai generando contenuto con javascript, quindi il comportamento del browser potrebbe essere un po' pazzerello.

    P.S. Questo errore è di trascrizione?
    codice:
    <select name"corso">

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.