Ciao,

Tramite Ajax ho popolato una combobox dopo la scelta di una prima combo, per capirci una volta scelta la regione, popolo la seconda combo con le province.

In pratica una volta scelta la regione tramite ajax richiamo la pagina province.php che esegue una oppurtuna query e restituisce i valori tramite XML.

Fin qui funziona tutto!!!

Ora vorrei cercare di farmi restituire due valori dal file XML ma non riesco.
In pratica vorrei mi restiusca oltre al valore relativo alla provincia, anche la regione, perchè quando vado alla pagina di raccolta dati mi passa come valore della regione il relativo ID.

Ecco il codice che ho utilizzato:

Codice PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head><script src="/script/menu.js" type="text/javascript"></script>
<title>Test AJAX</title>
<script src="/script/oggettorequest.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
function populateSubSelection(){
//Recupero i dati da inviare
var mainSelection = document.getElementById("mainSelection");

//Creo un nuovo oggetto XMLHTTPRequest
var req = newXMLHttpRequest();

//Invio la richiesta
req.open("POST", "modelli.php", true);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

//Invio i dati POST
req.send("choice=" + mainSelection.options[mainSelection.selectedIndex].value);

//Gestore dell'evoluzione dello stato dell'oggetto req
req.onreadystatechange = handleResponse(req, updateSubSelection);
}

function handleResponse(req, XMLHandler){
return function(){

if(req.readyState == 4){

if (req.status == 200){

XMLHandler(req.responseXML);
}else{
alert("Errore HTTP: " + req.status);
}
}
}
}

function updateSubSelection(XMLResult){
//Gestisco il documento XML ricevuto e popolo la seconda SELECT
var categoria = XMLResult.getElementsByTagName('categoria');

//Recupero la seconda SELECT
var subSelection = document.getElementById("subSelection");

//Svuoto la secondo SELECT
for (var i = subSelection.length - 1; i >= 0; i--)
subSelection.remove(i);

//Scorro gli elementi
for (var i = 0; i < categoria.length; i++){
//Recupero i vari elementi singoli
var item = categoria[i];

//Creo il nuovo elemento OPTION da aggiungere nella seconda SELECT
var NewOpt = document.createElement('option');
var NewOpt1 = document.createElement('option');
NewOpt.value = item.getAttribute("value");
NewOpt.text = item.firstChild.nodeValue;
NewOpt1.value = item.getAttribute("value");
NewOpt1.text = item.firstChild.nodeValue;

//Popolo la seconda SELECT
try{
subSelection.add(NewOpt, null); //Metodo Standard, non funziona con IE
Marca1.add(NewOpt1, null);
}catch(e){
subSelection.add(NewOpt); // Funziona solo con IE
Marca1.add(NewOpt1);
}
}
}
</script>
</head>
<body>
Seleziona la REGIONE:
<?php 
        $strsql 
"select * from marca order by Marca"
        
$query mysql_query($strsql);         
?>
<form action="prova1.php" method="post">
<select name="Marca" id="mainSelection" onchange="populateSubSelection()">
<option value="">---</option>
<?php while($row=mysql_fetch_array($query)){?>        
<option value="<?php echo $row["Id_marca"];?>"><?php echo $row["Marca"];?></option>
<?php }?>
</select>
SELEZIONA PROVINCIA:
<select name="Modello" id="subSelection">
<option value="">---</option>
</select>
<input type="hidden" name="Marca1" id="Marca1"  value=""/>
<div id="Marca1">

</div>
<label>
<input type="submit" name="Submit" value="Invia" />
</label>
</form>
</body>
</html>
Questa è la pagina richiamata che genera il file XML:

Codice PHP:
header("Content-type: application/xml");
header("Cache-control: no-cache, must-revalidate");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo 
"<categorie>\n";
//Recupero la variabile sulla quale effettuare i vari controlli
$myChoice = @$_POST['choice'];
$strsql="select * from provincia where Id_regione=".NormDatiDB($myChoice,"INT");
$query mysql_query($strsql);         

while(
$row=mysql_fetch_array($query)){    

echo 
"\t<categoria value=\"".$prova."\">".$prova."</categoria>\n";
}
echo 
"</categorie>\n";
Avete qualche aiuto prezioso da darmi?