Combo Box dinamica e problema con refresh

Ciao ragazzi... vi spiego subito il problema..

ho un form di inserimento con combobox dinamiche...faccio un esempio..c'è la combo regione..e quella provincia...due tabelle diverse..seleziono la regione... e nella combo sottostanze si visualizzano solo le province di quella regione.

Tutto questo l'ho fatto con un js ma appeno finito il form quando si attiva l'evento onchange sulle combo perdo tutti i valori delle textbox...COM'è LOGICO CHE SIA!!

A questo punto nn voglio mandare una stringa lunghissima visto che i campi sono quasi 20 come posso fare?!?!?!

Grazie in anticipo..vi posto il codice

script language='JavaScript' type='text/JavaScript'>

<!--

function id_combos() { //v2.0";

   window.location=('<? echo $_SERVER['PHP_SELF']; ?>?categoria='+document.formout.categoria.value+'&regione='+document.formout.regione.value+'&provincia='+document.formout.provincia.value+'&listino='+document.formout.listino.value+'&settore='+document.formout.settore.value);

}

<?

echo"<table width='800px' height='250px' border='0' id='table_anagr' background='sfondo_tabella_anag.jpg'><th height='25px'>";

echo"<form name=\"formout\" method='post' action='insert_dati.php'><tr>";

echo"<td weight='70'><strong>Data Contatto:</td><td>";

$tempo=date("Y-m-d H:i:s");

//echo"$tempo</td>";

echo"<input type='text' name='data' size='20' value='$tempo'>";

//CODICE COMBO SETTORE AZIENDA -------------------------------------------------------------------*****

$connessione = mysql_connect("miolocalhost", "admin", "admin") or die ('Error connecting to mysql');

            mysql_select_db("klik_selling");

              if (empty($_GET['settore'])) {

                  $_GET['settore'] = 1 ;}

        $query_settori = "SELECT Id_Settore, Descr_Settore  FROM Settori";

         $risultato_settori = mysql_query($query_settori) or die("Query fallita");

         echo"<td><strong>Settore:</strong></td><td>";

         echo"<select name='settore' size='1' onchange=\"giordano()\">";

         while ($row_groups = mysql_fetch_assoc($risultato_settori)) {   

                 $id_settore = $row_groups['Id_Settore'];

                $Descr_Settore = $row_groups['Descr_Settore'];

         echo "\t<option value=\"$id_settore\"";

         if ($_GET['settore'] == $id_settore) {

                  echo " selected";

               }    

         echo">$Descr_Settore</option>\n"; }

         echo"</select></td></tr><tr>";

//----------------------------------------------------------------------------------------------

echo"<td><strong>Ragione Sociale:</td><td> <input type='text' name='ragsoc' size='40'><br/></td>";

echo "<td><strong>Regione:</td><td> <select name=\"regione\" style=\"width: 150px;\" onchange=\"giordano()\">\n";

//CODICE COMBO REGIONE

//-----------------------------------------------------------------------------------------*****

         $query_regioni = "SELECT Id_Regione, Descr_Regione  FROM Regioni";

         $risultato_regioni = mysql_query($query_regioni) or die("Query fallita");

         while ($row_regione = mysql_fetch_assoc($risultato_regioni)) {   

                 $id_regione = $row_regione['Id_Regione'];

                $Descr_Regione = $row_regione['Descr_Regione'];

               if (empty($_GET['regione'])) {

                  $_GET['regione'] = 1 ;

                }

               echo "\t<option value=\"$id_regione\"";

               if ($_GET['regione'] == $id_regione) {

                  echo " selected";

               }

               echo ">$Descr_Regione</option>\n";  }

               echo"</select></td></tr><tr>";

//-------------------------------------------------------------------------------------------------

echo"<td><strong>Referente: </td><td><input type='text' name='ref' size='30'><br/></td>";

//CODICE COMBO PROVINCIA

// -------------------------------------------------------------------------------------------*****

$query_provincia = "SELECT Id_Provincia, Descr_Provincia, Id_Regione  FROM Province WHERE ID_Regione = ". $_GET['regione'] ." ORDER BY DESCR_PROVINCIA";

              $risultato_provincia = mysql_query($query_provincia) or die("Query fallita");

            echo"<td><strong>Provincia:</strong></td><td>";

            echo"<select name='provincia' size='1' onchange=\"giordano()\" >";

         while ($row_provincia = mysql_fetch_assoc($risultato_provincia)) {   

                 $id_provincia = $row_provincia['Id_Provincia'];

                $Descr_Provincia = $row_provincia['Descr_Provincia'];

           echo "\t<option value=\"$id_provincia\">$Descr_Provincia</option>\n"; }

         echo"</select></td></tr>";

//---------------------------------------------------------------------------------------------------

echo"<td><strong>Numero Telefonico: </td><td><input type='text' name='telefono' size='20'><br/></td>";

echo"<td><strong>Città: </td><td><input type='text' name='citta' size='40'><br/></td></tr><tr>";

echo"<td><strong>Fax: </td><td><input type='text' name='fax' size='20'><br/></td>";

echo"</tr><tr>";

echo"<td><strong>Cellulare </td><td><input type='text' name='cell' size='30'><br/></td>";

echo"<td><strong>Numero Linee: </td><td><input type='text' name='num_linee' size='3'><br/></td></tr>";

echo"<td><strong>Email: </td><td><input type='text' name='email' size='30'></strong><br/></td></tr><tr></table><br>";

//Seconda Tabella per l'inserimento del dettaglio commerciale

//COMBO CATEGORIA LISTINI---------------------------------------------------------------------------

echo"<table width='320px' height='100px' id='table_anagr' background='offerta_proposta_sfondo.jpg' align='left'><th height='25px'><tr><td><strong>Categoria:  ";

echo"<select name=\"categoria\" style=\"width: 150px;\"  onchange=\"giordano()\">\n";

         if (empty($_GET['categoria'])) {

               $_GET['categoria'] = 1 ;

                     }            

         $query_cat = "SELECT Id_Categoria, Descr_Categoria  FROM Categoria";

         $risultato_cat = mysql_query($query_cat) or die("Query fallita");

            while ($row_categoria = mysql_fetch_assoc($risultato_cat)) {   

                    $id_categoria = $row_categoria['Id_Categoria'];

                $Descr_Categoria = $row_categoria['Descr_Categoria'];   

            echo "\t<option value=\"$id_categoria\"";

         if ($_GET['categoria'] == $id_categoria) {

                  echo "selected";

                                        }

         echo">$Descr_Categoria</option>\n";  }

         echo"</select></td><td>";   

echo"<td><label><input type='radio' name='Risultato' value='1'>ok</label></td>";

echo"<td><label><input type='radio' name='Risultato' value='2'/>non ok</label></td>";

echo"<TR><tr><td>";

echo"<center><input type='submit' name='Submit' value='Invia' /></form>";

echo"</table>";[/size][/size]?>

inviato 10 anni fa
maradona79
X 0 X

invece di ricaricare la pagina con una GET (ovvero passando dei parametri via URL) potresti farlo con una POST, cioè inviando il form al server. In pratica quando cambia il valore di una combo effettui il submit del form e lo script PHP che lo riceve si occuperà sia di caricare i corretti vaolri per le altre combo dinamiche, sia di ripresentare i dati dei campi testo inseriti dall'utente.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ciao gianni...

sono riuscito a bloccare i valori nelle textbox dopo il change delle combo e vaiiii ti posto il codice:

<?
session_start();

echo"<form name=\"formout\" method='post' action='".$_SERVER['PHP_SELF']."'>";
echo"<td><strong>Ragione Sociale:</td><td>";


               if (empty($_POST['ragsoc'])) {
                  $_POST['ragsoc'] = '' ;}
echo"<input type='text' name='ragsoc' size='40' value='".$_POST['ragsoc']."'>";
echo "<br/></td>";
echo"<td><strong>Regione:</td><td>";
echo"<select name=\"regione\" style=\"width: 150px;\" onchange='submit()'>";



//CODICE COMBO REGIONE
//-----------------------------------------------------------------------------------------*****


$connessione = mysql_connect("localhost", "admin", "") or die ('Error connecting to mysql');
            mysql_select_db("klik_selling");
            
            $query_regioni = "SELECT Id_Regione, Descr_Regione  FROM Regioni";
            $risultato_regioni = mysql_query($query_regioni) or die("Query fallita");
         
         while ($row_regione = mysql_fetch_assoc($risultato_regioni)) {   
                 $id_regione = $row_regione['Id_Regione'];
                $Descr_Regione = $row_regione['Descr_Regione'];
               
               
               if (empty($_POST['regione'])) {
                  $_POST['regione'] = 1 ;
               
               }
               echo "<option value=\"$id_regione\"";
                              
               if ($_POST['regione'] == $id_regione) {
                  echo " selected";
               } 
               echo ">$Descr_Regione</option>\n"; 
               
               
                }
               print ($id_regione);
               echo"</select></td></tr><tr>"; 
               

//-------------------------------------------------------------------------------------------------

if (empty($_POST['ref'])) {
                  $_POST['ref'] = '' ;}


echo"<td><strong>Referente: </td><td><input type='text' name='ref' size='30'  value='".$_POST['ref']."'><br/></td>";

//CODICE COMBO PROVINCIA
// -------------------------------------------------------------------------------------------*****



$query_provincia = "SELECT Id_Provincia, Descr_Provincia, Id_Regione  FROM Province WHERE ID_Regione = '".$_POST['regione']."' ORDER BY DESCR_PROVINCIA";
              $risultato_provincia = mysql_query($query_provincia) or die("Query fallita");

            echo"<td><strong>Provincia:</strong></td><td>";
            echo"<select name='provincia' size='1' onchange=\"'".$_SERVER['PHP_SELF']."'\">\n";

   
         while ($row_provincia = mysql_fetch_assoc($risultato_provincia)) {   
                 $id_provincia = $row_provincia['Id_Provincia'];
                $Descr_Provincia = $row_provincia['Descr_Provincia'];
        
           echo "\t<option value=\"$id_provincia\">$Descr_Provincia</option>\n"; }
         echo"</select></td></tr>";
?>

Però adesso ho un altro problema... il form prima era collegato ad un'altra pagina dove facevo l'INSERT nel database di tutti i valori..come faccio a far partire INSERT ?!?!?!??

Ti ringrazio sempre x le tue dritte...che mi fanno capire qualcosa(almeno spero!!!)

risposto 10 anni fa
maradona79
X 0 X

immagino che la insert avvenga alla pressione di un pulsante che fa il submit vero? Potresti mettere un javascript assocaito alla pressione del tasto che effettua il submit del form allo script che fa le INSERT.

Che ne dici?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda