Ragazzi ho uno strano problema: in pratica il risultato che mi viene restituito utilizzando ajax e asp mi compare per un secondo soltanto e poi mi da errore sulla query sql.
l'esempio pratico potete vederlo a questo indirizzo:
www.assoluto.it/applicativo
USERNAME: zseven
PASSWORD: zseven
Selezionate dalla sinistra il 2°progetto.
quindi dal menu in alto scegliete report e selezionate come numero ordine il 234.
vedrete che vi caricherà un ordine. alla sinistra c'è un "+" che richiama la funzione in ajax.
Cliccandoci vedrete che vengono caricati per un attimo i risultati corretti, ma poi mi da questo errore sql.
Vi posto un pò di codice:
questa è la funzione standard in ajax che viene richiamata al click del pulsante:
questo è il pulsante:codice:<script language="javascript"> var ricerca_pro; function cerca() { var valorecampo = document.form2.espandi.value; // branch for native XMLHttpRequest object if (window.XMLHttpRequest) { ricerca_pro = new XMLHttpRequest(); ricerca_pro.onreadystatechange = ricevi; ricerca_pro.open("GET", "det_report_fatture.asp?id="+valorecampo,true); ricerca_pro.send(null); // branch for IE/Windows ActiveX version } else if (window.ActiveXObject) { ricerca_pro = new ActiveXObject("Microsoft.XMLHTTP"); if (ricerca_pro) { ricerca_pro.onreadystatechange = ricevi; ricerca_pro.open("GET", "det_report_fatture.asp?id="+valorecampo,true); ricerca_pro.send(); } } } function ricevi() { var strRes; var arrValori; if (ricerca_pro.readyState == 4) { document.getElementById("det_fattura").innerHTML=ricerca_pro.responseText; } } </script>
e infine questa è la pagina che viene richiamta dalla funzione ajax.codice:<form name="form2" style="margin:0"> <input title="espandi selezione" type="image" src="images/plus.gif" onClick="cerca();"> <input type="hidden" name="espandi" value="<%=rs2("ID_ordini")%>"> </form>
è una semplice query che mi restituisce un report:
mi rendo conto che è un pò uncasino ma mi servirebbe davvero una mano.codice:<link href="style.css" rel="stylesheet" type="text/css" /> <% 'apro connessione e istanzio oggetti pid = Request.QueryString("id") if pid <> "" then strsql = "SELECT tab_ordini.*, tab_fornitori.*, tab_fatture.* FROM tab_ordini, tab_fornitori, tab_fatture WHERE tab_fatture.id_progetto = " & Session("ID_progetto") & " AND tab_ordini.ID_ordini = tab_fatture.id_ordine AND tab_fornitori.ID_fornitori = tab_fatture.id_fornitore AND tab_fatture.elimina_fattura = false AND tab_fatture.id_ordine = "&pid&" ORDER BY tab_fatture.data_ft, tab_fatture.num_ft, tab_ordini.numero_ordine DESC" set rs = conn.execute(strsql) if not rs.eof then %> <table class="contenuti" style="border-collapse:collapse;" border="1" width="900" cellpadding="3" cellspacing="0"> <tr bgcolor="#C5C5C5"> <td ><span class="menu_bold">FORNITORE</span></td> <td width="65"><span class="menu_bold">FATTURA</span></td> <td width="100"><span class="menu_bold">DATA FATTURA</span></td> <td ><span class="menu_bold">DESCRIZIONE</span></td> <td ><span class="menu_bold">IMPORTO</span></td> <td width="50"><span class="menu_bold">ANTICIPO</span></td> </tr> <% conta = 0 Do While Not rs.EOF conta = conta + 1 if conta MOD 2 = 0 then bg = "#F8F8F8" Else bg = "#ECECEC" end if old_data = rs("data_ft") anno = left(old_data, 4) mese = mid(old_data, 5, 2) giorno = mid(old_data, 7, 2) data = giorno & "/" & mese & "/" & anno if rs("conto_anticipo") = True then conto_anticipo = "Sì" else conto_anticipo = "No" end if descrizione = replace(rs("descrizione_ft"), " ", VbCrlF) %> <tr bgcolor="<%=bg%>"> <td ><span class="contenuti"><%=rs("denominazione_fornitore")%></span></td> <td ><span class="contenuti"><%=rs("num_ft")%></span></td> <td ><span class="contenuti"><%=data%></span></td> <td ><span class="contenuti" style="cursor:help" title="<%=server.HTMLEncode(descrizione)%>"><%=left(rs("descrizione_ft"),20)%>[...]</span></td> <td ><span class="contenuti">€<%=formatnumber(rs("importo_ft"), 2)%></span></td> <td ><span class="contenuti"><%=conto_anticipo%></span></td> </tr> <% rs.MoveNext Loop %> </table> <% end if end if %>
Grazie a tutti.
Se non sono stato chiaro cercherò di spiegarmi meglio

Rispondi quotando
