Ciao a tutti.
Ho una pagina php di inserimento con varie combobox una dipendente dal'altra.
Cioè ho la combo Nazioni che selezionato tot valore mi valorizza la combo Regione con le regioni di quella determinata.
Per far ciò ho la pagina:
Codice PHP:
<?php
include_once("include/config.php");
include_once("include/auth.lib.php");
include_once("include/top_foot.inc.php");
list($status, $user) = auth_get_status();
//intestazione
top();
include("include/script.php");
if($status == AUTH_LOGGED){
$query = 'SELECT id, continente, stato FROM stati ORDER BY stato';
$ris= mysql_query($query, $conn) or die("Errore nella query: " . mysql_error());
?>
<body onLoad="iniziaOfferte()">
<form name="form" action="salvaOfferte.php">
<table width="100%" border="0">
<tr>
<td height="22">Nazione</td>
<td>Regione</td>
<td>Città</td>
</tr>
<tr>
<td>
<select name="comboNazione" id="comboNazione" onChange="cambiaNazione(this.value)">
<option value="x" >Nazione...</option>
<?
while($riga = mysql_fetch_array($ris)) {
if ($riga['id'] <> $_GET['Stato']) {
echo "<option value=\"".$riga['id']."\" >".$riga['stato']."</option> \n";
} else {
echo '<option value="'.$riga['id'].'" SELECTED>'.$riga['stato'].'</option> \n';
}
}
?>
</select>
</td>
<td>
<select name="comboRegioni" id="comboRegioni" onChange="cambiaRegione(this.value)">
<option value="x" >Regione...</option>
<?
if( isset($_GET['Stato']) ){
$sql2 = "SELECT id, id_Stato, regione FROM regioni WHERE id_Stato = ".$_GET['Stato']." ORDER BY regione";
$res2 = mysql_query($sql2)or die("Errore nell'estrazione delle nazioni: ".mysql_error());
while ($row2 =mysql_fetch_assoc($res2)){
echo 'id: ' + $row2['id'];
if ($row2['id'] <> $_GET['Regione']) {
echo '<option value="'.$row2['id'].'" >'.$row2['regione'].'</option>\n';
} else {
echo '<option value="'.$row2['id'].'" SELECTED>'.$row2['regione'].'</option> \n';
}
}
}
?>
<option value="i">Inserisci nuova</option>
</select>
<div id="divRegione" style="display:none">
<input type="text" name="inRegione" id="inRegione" >
<input type="submit" name="InsertReg" id="InsertReg" value="Inserisci Regione" onClick="return onRegione()">
</div>
</td>
<td><input type="text" name="inCitta" id="inCitta"></td>
</tr>
script.php :
Codice PHP:
<?
$page = $_SERVER['PHP_SELF']; // la pagina php
$qstr = $_SERVER['QUERY_STRING']; // la parte della stringa
echo "PHP_SELF: ", $page , "
";
echo "QUERY_STRING: ", $qstr , "
";
echo "<script type=text/javascript> \n";
//OnLoad pagina inserimento Offerte
echo "function iniziaOfferte() {\n ";
echo " if ('".$_GET['Stato']."' == null || '".$_GET['Stato']."' == '') { \n ";
echo " document.getElementById('comboNazione').value = 'x'; \n ";
echo " } else { \n ";
echo " document.getElementById('comboNazione').value = '".$_GET['Stato']."'; \n ";
echo " } \n ";
echo " if ('".$_GET['Regione']."' == null || '".$_GET['Regione']."' == '') { \n ";
echo " document.getElementById('comboRegioni').value = 'x'; \n ";
echo " } else { \n ";
echo " document.getElementById('comboRegioni').value = '".$_GET['Regione']."'; \n ";
echo "} \n";
//funzioni per il change delle combo
echo "function cambiaNazione(idStato){ window.location = '$page?$qstr&Stato='+idStato } \n";
echo "function cambiaRegione(idRegione) {window.location = '$page?$qstr&Regione='+idRegione} \n";
il mio problema è che nella pagina di inserimento ho anche dei campi input:
codice:
<input type="text" name="inCitta" id="inCitta">
ma non so come "portarmelo a dietro" nel senso che se scrivo un valore in "inCitta" e poi seleziono una regione quando mi ricarica la pagina il valore che ho inserito di "inCitta" me lo perde. Come posso fare per mantenerlo???
Ho provato a mettere lo stesso script usato per una delle combo sul onBlur del input ma se mi sposto direttamente su una combo mi va su pagina bianca e nn so come mai.
Qualcuno può aiutarmi??
GRAZIEEEEEEEEE