Grazie a un thread che ho trovato qui sono quasi riuscito a finire la pagina web che sto creando. Mi rimane solo un piccolo problema. In pratica ho 3 tendine che vengono create automaticamente e dinamicamente da un database, sullo stile Regione->Provincia->Comune.
Il problema è che esiste la possibilità che l'utente voglia inserire un campo che non è nel database, quindi ho aggiunto una voce "altro" alla tendina, che dovrebbe andare ad attivare un campo testo, altrimenti disabilitato.

Per la storia delle tendine dinamiche caricate da db ho usato questo codice, postato da mtx_maurizio e modificato per le mie esigenze.

Codice PHP:
<?php

session_start
();

class 
OptionMenu
{
    protected    
$conn;
    protected    
$page;

        public function 
__construct()
        {
            
$this->page basename($_SERVER['PHP_SELF']);
            
$this->DbConnectAndSelect();
            
$this->ParsingAction();

        }

        protected function 
DbConnectAndSelect()
        {
            include 
"db_config.php";

            
$this->conn = @mysql_connect($host,$username,$password) OR
            die(
"Impossibile connettersi al server");

            @
mysql_select_db($db$this->conn) OR
            die(
"Impossibile selezionare il database");
        }



        public function 
JsHeader()
        {
            echo 
'<SCRIPT language=JavaScript>
               <!--
            function goSelect(daform)
            {
                with(daform)
                {
                    top.window.location=options[selectedIndex].value;
                }
            }
            /*
            function AbilitaText(select,nomeCampo1,nomeCampo2,nomeCampo3)
            {
                var select1="SelectObj";
                var select2="SelectMarca";
                var select3="SelectModello";
                var campo1=select.form.elements[nomeCampo1];
                var campo2=select.form.elements[nomeCampo2];
                var campo3=select.form.elements[nomeCampo3];
                var selObject=select.form.elements[select1];
                var selMark=select.form.elements[select2];
                var selModel=select.form.elements[select3];
                if(selObject.value==0)
                {
                    campo1.disabled=false;
                    campo1.select();
                    campo1.focus();
                    campo2.disabled=false;
                    campo3.disabled=false;
                }
                else
                if(selMark.value==0)
                {
                    campo2.disabled=false;
                    campo2.select();
                    campo2.focus();
                    campo3.disabled=false;
                else
                }
                if(selModel.value==0)
                {
                    campo3.disabled=false;
                    campo3.select();
                    campo3.focus();
                }
            }
            */
               //-->
            </SCRIPT>
            '
;

        }

        public function 
ShowOggetti()
        {
            if(isset(
$_SESSION['oggetto']))
            {
                
$oggetto $_SESSION['oggetto'];
            }
            else
            {
                
$oggetto "Seleziona un oggetto";
            }

            
$sql "SELECT id_oggetto, nome_oggetto FROM oggetti";
            
$res mysql_query($sql$this->conn);


            echo 
"<form><select name='SelectObj' onchange='goSelect(this)' size='1'><option>".$oggetto."</option>";

                while(
$row mysql_fetch_array($res))
                {
                    if(
$row['nome_oggetto'] != $oggetto)
                    {
                        echo 
'<option value="' $this->page '?id_ogg=' $row['id_oggetto'] . '&action=marca&oggetto=' $row['nome_oggetto'] . '">' $row['nome_oggetto'] . '</option>
                        '
;
                    }
                }
             echo 
'<option value=0>Altro</option>';
            echo 
'</select>';
            echo 
'<input type="text" name="oggetti" disabled>';
            echo 
'</form>';
        }

        public function 
ShowMarche()
        {
            if(isset(
$_SESSION['marca']))
            {
                
$marca $_SESSION['marca'];
            }
            else
            {
                
$marca 'Seleziona una marca';
            }

            echo 
"<form><select name='SelectMarca' onchange='goSelect(this)' size='1'><option>".$marca."</option>

"
;

            if(
$oggetto $this->SelectMarca())
            {
                
$sql "SELECT id_marca,nome_marca FROM marche WHERE cod_ogg='$oggetto'";

                
$res mysql_query($sql$this->conn);

                    while(
$row mysql_fetch_array($res))
                    {
                        if(
$row['nome_marca'] != $marca)
                        {
                            echo 
'<option value="' $this->page '?id_mark=' $row['id_marca'] . '&action=modello&marca=' $row['nome_marca'] . '">' $row['nome_marca'] . '</option>
                        '
;
                        }
                    }
            }
             echo 
'<option value=0>Altro</option>';
            echo 
'</select>';
            echo 
'<input type="text" name="marche" disabled>';
              echo 
'</form>';
        }

        public function 
ShowModelli()
        {
            if(isset(
$_SESSION['modello']))
            {
                
$modello $_SESSION['modello'];
            }
            else
            {
                
$modello 'Seleziona un modello';
            }
             echo 
"<form><select name='SelectModello' onchange='goSelect(this)' size='1'><option>".$modello."</option>";
            if(
$_GET['id_mark'])
            {
                
$sql "SELECT id_modello,nome_modello FROM modelli WHERE cod_mark=$_GET[id_mark]";
                
$res mysql_query($sql$this->conn);

                    while(
$row mysql_fetch_array($res))
                    {
                        echo 
'<option value="' $this->page '?id_model=' $row['id_modello'] . '&action=end&modello=' $row['nome_modello'] . '">' $row['nome_modello'] . '</option>
                    '
;
                    }
            }
             echo 
'<option value=0>Altro</option>';
            echo 
'</select>';
            echo 
'<input type="text" name="modelli" disabled>';
            echo 
'</form>';
        }

        protected function 
SelectMarca()
        {
           if(!
$_GET[id_ogg] AND !$_SESSION[oggetto])
           {
               return 
FALSE;
           }
           else
           {
                if(
$_GET['id_ogg'])
                {
                    return 
$_GET['id_ogg'];
                }
                else
                {
                    
$sql "SELECT id_oggetto FROM oggetti WHERE oggetto='$_SESSION[oggetto]'";
                    
$res mysql_query($sql$this->conn);
                    
$row mysql_fetch_array($res);

                    return 
$row['id_oggetto'];
                }
            }
        }

        protected function 
ParsingAction()
        {
            if(isset(
$_GET['action']))
            {
                if(
$_GET['action'] == 'marca')
                {
                    
$_SESSION['oggetto'] = $_GET['oggetto'];
                    unset(
$_SESSION['marca']);
                    unset(
$_SESSION['modello']);
                }
                if(
$_GET['action'] == 'modello')
                {
                    
$_SESSION['marca'] = $_GET['marca'];
                    unset(
$_SESSION['modello']);
                }
                if(
$_GET['action'] == 'end')
                {
                    
$_SESSION['modello'] = $_GET['modello'];
                    
header("Location: form.php");
                    die;
                }
            }
        }
}

?>
Come vedete ho aggiunto la funzione "abilitaText", ma non funziona affatto. Ho fatto numerose prove e ho avuto sempre errori diversi, questa versione della pagina dovrebbe mandare in pratica a un altra pagina che non esiste quando si clicca su altro, perchè lo script per gestire le tendine è fatto in un determinato modo e non so come modificarlo per adattarlo alle mie esigenze....

Comunque la pagina da cui includo questa classe in pratica è quella che c'è nel thread originale:

http://forum.html.it/forum/showthrea...=men%F9+option