Salve a tutti,
ho questo problema: ho sviluppato codice Ajax per poter riempire dinamicamente un <select> in relazione al valore scelto ad un altro precedente.
Tutta questa struttura si trova all'interno di un form, in cui è presente anche un pulsante.
Ora, il codice ajax riempie il select positivamente, ma mi scompare il pulsante e tutto quel codice che viene dopo la dichiarazione dello stesso select.
Non riesco a capire come possa succedere tutto questo!
Posto il codice del form:
codice:
Response.Write("<table>")
Response.Write("<form method='post' name='form' action='cancella_tagliacolore2.asp?prod_id="& Request.QueryString("prod_id")&"'>")
Response.Write("<tr>")
Response.Write("<td align=center>")
Response.Write("<font face='Verdana' color=white>Seleziona Taglia/Colore da cancellare</font>")
Response.Write("</td>")
Response.Write("</tr>")
Response.Write("<tr>")
Response.Write("<td height=20% style='background-color:'900000'; color:white'>")
dim var
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(".") & "/magicmoto.mdb"
SQL=""
SQL=SQL & "Select * from Dettagli "
SQL=SQL & "Where [Det_ProID]='"& Request.QueryString("prod_id") &"'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
Response.Write("<font color='white'>Taglia: </font><select size=1 cols=4 NAME='taglia' id='taglia' onchange=javascript:popolaElemento(this.value,"""& Request.QueryString("prod_id") &""")>")
Response.Write("<OPTION selected Value=Seleziona>Seleziona")
Do While Not rs.EOF
var=rs("Det_Taglia")
Response.Write("<OPTION value='"& var &"'> "& var &" ")
rs.MoveNext
Loop
rs.Close
set rs = Nothing
Response.Write("</select>")
Response.Write("</td>")
Response.Write("</tr>")
Response.Write("<tr>")
Response.Write("<td height=20% style='background-color:'900000'; color:white'>")
Response.Write("<font color='white'>Colore: </font><span id='selectColore'><select size=1 cols=4 NAME='colore' id='colore'>")
SQL=SQL & "Select * from Dettagli "
SQL=SQL & "Where [Det_ProID]='"& Request.QueryString("prod_id") &"'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
Do While Not (rs.EOF)
Response.Write("<OPTION Value="& rs("Det_Colore") &">"& rs("Det_Colore") &"</option>")
rs.MoveNext
Loop
rs.Close
set rs = Nothing
Response.Write("</select>")
Response.Write("</span>")
Response.Write("</td>")
Response.Write("</tr>")
Response.Write("<tr>")
Response.Write("<td height=20% style='background-color:'900000'; color:white'>")
Response.Write("<input type='submit' value='Cancella'>")
Response.Write("</td>")
Response.Write("</tr>")
Response.Write("</form>")
Response.Write("</table>")
e quello dell'ajax:
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(par1,par2){ // faccio una richiesta
//alert(par2); // debug
//popola_luoghi();
var x=par1
var y=par2
var url="popola.asp?taglia=" + x + "&prod_id=" + y + ""
//alert(url);
http.open('get', url , true)
document.getElementById('selectColore').innerHTML="<select><option value=\"0\">caricamento in corso...</option></select>";
http.onreadystatechange=function(){
if (http.readyState==4 || http.readyState=="complete"){
if (http.status == 200){
//alert(http.responseText)
document.getElementById('selectColore').innerHTML=http.responseText;
} else {
document.getElementById('selectColore').innerHTML="<select><option>ERRORE "+http.status+"</option></select>";
}
}
}
http.send(null);
}
Per favore qualcuno che mi aiuti...
Grazie in anticipo