Salve,

sto cercando disperatamente di far eseguire due distinte select popolate dinamicamente tramite ajax

fino a quando ho 2 select di cui una popolate dinamicamente, il tutto funziona alla grande,

ma come faccio ad aggiungere alla stessa pagina altre 2 select di cui una anch'essa popolata tramite ajax?


// form.htm
codice:

<script>

function GetLinguaggi(Categoria){
  InviaDati("categoria="+Categoria);
  }
  var url = "inc/select.php";
var what = "SetLinguaggi(req.responseText)";

function SetLinguaggi(Linguaggi)
{

  var linguaggioBox = document.getElementById("linguaggio");
  linguaggioBox.options.length = 0;
  if(Linguaggi != "")
  {
    var arrLinguaggi = Linguaggi.split(",");
    for(i = 0; i < arrLinguaggi.length; i++)
    {
      if(arrLinguaggi[i] != "")
      {
        linguaggioBox.options[linguaggioBox.options.length] = 
        new Option(arrLinguaggi[i], arrLinguaggi[i]);
      }
    }
  }
}

</script>



</head>


 <select name="categoria" id=categoria onChange="GetLinguaggi(this.options[this.selectedIndex].value)">
                            <option value="A">A</option>
                            <option value="B">B</option
</select>
    
<select id=linguaggio></select>  //quella dinamica
//ajax.js
codice:
function scambio(id){
	 if (document.getElementById){
    		if(document.getElementById(id).style.display == 'none'){
      			document.getElementById(id).style.display = 'block';
    		} else {
      			document.getElementById(id).style.display = 'none';
    		}
  	}
}



function InviaDati(data)
{

	 
  // istanziamo l'oggetto XMLHttpRequest
  if (window.XMLHttpRequest) 
  {
    req = new XMLHttpRequest();
    req.onreadystatechange = PocessaDati;
    req.open('POST', url, true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
    req.send(data);
  }
  // controlliamo la versione di ActiveX
  else if (window.ActiveXObject) 
  {
    req = new ActiveXObject('Microsoft.XMLHTTP')
    if (req)
    {
      req.onreadystatechange = PocessaDati;
      req.open('POST', url, true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
 req.send(data);
    }
  }
}


function PocessaDati()
{
  // monitoriamo lo stato dell'invio
  if (req.readyState == 4)
  {
    // restituiamo lo stato della richiesta
    if (req.status == 200) 
    {
      eval(what);
    }else{
      alert('Problema nella gestione dei dati: ' +
      req.responseText);
    }
  }
}
//select.php
codice:
<?php
$linguaggi = array();
 $categoria=$_POST['categoria'];



if($categoria=="A"){
$linguaggi["$categoria"] = array(
  "Tutti,
 A,B,C
  "      
);
}


if(isset($_POST["categoria"]) && isset($linguaggi[$_POST["categoria"]]))
{
  foreach($linguaggi[$categoria] as $linguaggio)
  {
  
    printf("%s,", $linguaggio);

  }
}



?>
Grazie