Salve,
ho un problema legato ad Ajax e un form a cui è applicato il codice: dovrei cancellare un record di una tabella del DB, i valori vengono scelti attraverso due select, in cui la scelta della prima determina i campi della seconda.
Nel momento in cui eseguo il form e passo i valori alla pagina successiva, il valore della seconda select (quello riempito dall'Ajax) risulta essere sempre vuoto.
Vi posto il codice di seguito:
-FORM:
- AJAX: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(".") & "/xxx.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'>") Response.Write("<select size=1 cols=4 NAME='colore' id='colore'>") 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'><span id='selectQuantita'>") Response.Write("<font color='white'>Quantità: </font><input type=""text"" name=""qnt"")>") 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>")
codice:var x; 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(); 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); }
- POPOLA.asp
Per favore se c'è qualcuno che ne capisce un po' di piu di me di Ajax se puo darmi una mano.codice:Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath(".") & "/xxx.mdb" SQL="" SQL=SQL & "Select * from Dettagli Where " SQL=SQL & "[Det_Taglia]='" & Request.QueryString("taglia") &"'" SQL=SQL & " AND [Det_ProID]='" & Request.QueryString("prod_id") &"'" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn, 3, 3 'Response.Write(SQL) Response.Write("<select size=""1"" cols=""3"" name=""colore"" id=""colore"">") Response.Write("<OPTION Selected Value=Seleziona>Seleziona</option>") Do While Not (rs.EOF) Response.Write("<OPTION Value="& rs("Det_Colore") &">"& rs("Det_Colore") &"</option>") rs.MoveNext Loop Response.Write("</select>") rs.Close set rs = Nothing conn.Close set conn = Nothing
Grazie 1000.
Ciao

Rispondi quotando