Non so se possa essere utile (č da un secolo che non uso asp). Questo č una pagina con due select concatenate, REGIONI-PROVINCE
il file javascript čcodice:<%@ Language=VBScript %> <% option explicit Response.Buffer = true onload %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Pagina senza titolo</title> <script type="text/javascript" src="../../../js/sajax.js"></script> <script language="javascript" type="text/javascript"> // <!CDATA[ function recupera_province(v) { var id_regione = v.value; if(id_regione == "") { $("div1").innerHTML = ""; return; } var parametri = "id_regione=" + id_regione; sajax("?comando_ajax=trova_province", onload, parametri); function onload() { var t = this.request.responseText; $("div1").innerHTML = t; } } // ]]> </script> </head> <body> <table> <tr> <td>Regioni:</td> <td><select id="regioni" onchange="recupera_province(this);" ><%=regioni()%></select></td> </tr> <tr> <td>Province</td> <td><div id="div1"></div></td> </tr> </table> </body> </html> <% sub onload() dim comando_ajax comando_ajax = Request("comando_ajax") if(comando_ajax = "trova_province") then trova_province end if end sub sub trova_province() dim id_regione id_regione = Request("id_regione") response.Clear response.Write province(id_regione) response.End end sub function regioni() dim db, rs, sql set db = server.CreateObject("ADODB.Connection") set rs = server.CreateObject("ADODB.RECORDSET") db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dati\test\test.mdb;User Id=admin;Password=;" sql = "SELECT * FROM REGIONI" rs.Open sql, db, 3, 3 dim s s = "<option value=""""></option>" do while not rs.EOF s = s & "<option value=""" + rs(0) + """ >" & rs(1) & "</option>" rs.MoveNext loop regioni = s rs.Close: set rs = nothing db.Close: set db = nothing end function function province(id_regione) dim db, rs, sql, s set db = server.CreateObject("ADODB.Connection") set rs = server.CreateObject("ADODB.RECORDSET") db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dati\test\test.mdb;User Id=admin;Password=;" sql = "SELECT * FROM Q_PROVINCIE WHERE CODICE_ISTAT_REGIONE = """ & id_regione & """" rs.Open sql, db, 3, 3 's = "<select size=""" & rs.RecordCount & """ >" s = "<select>" do while not rs.EOF s = s & "<option value=""" + rs(0) + """ >" & rs(1) & "</option>" rs.MoveNext loop s = s & "</select>" province = s rs.Close: set rs = nothing db.Close: set db = nothing end function %>
codice:// File JScript function sajax(url, onload, parameters, onerror) { parameters = (parameters == undefined)? "" : parameters; //creazione oggetto per richiesta web var objHTTP = getXMLHttp(); objHTTP.open("post", url, true); objHTTP.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); objHTTP.setRequestHeader('Content-length',parameters.length); objHTTP.setRequestHeader('Connection', 'close'); objHTTP.onreadystatechange = function() { if (objHTTP.readyState == 4) { if (objHTTP.status == 200 || objHTTP.status == 0) { this.request = objHTTP; if(onload) onload.call(this); } else {if(onerror && typeof(onerror) == "function") {onerror(defaultError); return;}else {defaultError(); return;}} } }; objHTTP.send(parameters); function getXMLHttp() { var xmlhttp = null; if(window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); // Gecko (Firefox, Moz), KHTML (Konqueror, Safari), Opera, Internet Explorer 7 } else if(window.ActiveXObject) { try { xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); // Internet Explorer 6 } catch(e) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer 4,5 } } else { xmlhttp = null; } return xmlhttp; }; function defaultError() { alert("ERRORE NELLA TRASMISSIONE DATI!"); }; } //al posto di mettere document.getElementById("div1"), mettere $("div1") //da prototype.js function $() { var elements = new Array(); for (var i = 0; i < arguments.length; i++) { var element = arguments[i]; if (typeof element == 'string') element = document.getElementById(element); if (arguments.length == 1) return element; elements.push(element); } return elements; }

Rispondi quotando