Ciao a tutti,
ho un problema non da poco che mi fa impazzire. Premetto che sono alle prime armi con Ajax.
Allora, all'interno di un form sono riuscito (miracolo!) a riempire 2 select in modo dinamico (cioè riempire la select2 in relazione alla voce scelta in select1)...
...Ora, quel form mi serve per passare ciascun valore x poter inserire un nuovo record nel db, MA casualmente il valore selezionato nella select2 è VUOTO! Come è possibile?
Vi posto il codice che utilizzo:
nella pagina principale... codice JS
codice:
function createRequestObj(){ // creo un'istanza XMLHttpRequest
var re;
var browser=navigator.appName;
if (browser=="Microsoft Internet Explorer"){ // sniff browser
re=new ActiveXObject("Microsoft.XMLHTTP");
} else re=new XMLHttpRequest();
return re;
}
var http=createRequestObj();
function popolaElemento(parametri){ // faccio una richiesta
//alert(parametri); // debug
popola_luoghi();
var url="popola.asp?Luo_ID=" + parametri
http.open('get', url , true)
document.getElementById('selectLuogo').innerHTML="<select><option value=\"0\">caricamento in corso...</option></select>";
http.onreadystatechange=function(){
if (http.readyState==4 || http.readyState=="complete"){
if (http.status == 200){
document.getElementById('selectLuogo').innerHTML=http.responseText;
} else {
document.getElementById('selectLuogo').innerHTML="<select><option>ERRORE "+http.status+"</option></select>";
}
}
}
http.send(null);
}
nella pagina popola.asp che riempie la select2...
codice:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(".") & "/livin.mdb"
SQL=""
SQL=SQL & "Select * from Luoghi Where "
SQL=SQL & "[Luo_CatID]=" & Request.QueryString("Luo_ID") &""
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
Response.Write("<select size=""1"" cols=""3"" name=""luogo"" id=""luogo"">")
Response.Write("<OPTION Selected Value=Seleziona>Seleziona")
Do While Not (rs.EOF)
Response.Write("<OPTION Value="& rs("Luo_ID") &")>"& rs("Luo_Nome") &"")
rs.MoveNext
Loop
Response.Write("</select>")
rs.Close
set rs = Nothing
conn.Close
set conn = Nothing
Coem faccio a passargli il valore di questa ultima select, il cui riempimento è fatto in una pagina diversa dal form?
Per favore, se qualcuno può darmi una mano...
Grazie!
Ciao