Aiuto per select dinamiche in asp

leftist73

Utente Attivo
18 Ott 2006
73
0
0
Ciao a tutti,
vi chiedo di darmi una mano per capire dove sbaglio nel compilare un banalissimo script per select dinamiche.

Vengo al dunque:
in una pagina inserimento ho inserito il java-script:
<script type="text/javascript" language="javascript">
//<![CDATA[
url = "http://www.miosito/inserisci/";
d = document;
preloadText = "Generazione lista...";
function caricaPagina(dbcomuni.asp,AHAH_regioni)
{
if (d.getElementById) {var x=(window.ActiveXObject)?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();}
if (x)
{
d.getElementById(idLayer).innerHTML = preloadText;
x.onreadystatechange = function()
{
if (x.readyState == 4 && x.status == 200)
{
el=d.getElementById(idLayer);el.innerHTML = x.responseText;
}
}
x.open("GET", url + pagina, true);
x.send(null);
}
}
function checkForm()
{
var ilForm = d.forms[0];
var err = true;
var lReg = document.getElementById("ErrorRegioni");
var lProv = document.getElementById("ErrorProvincie");
var lCom = document.getElementById("ErrorComuni");
lReg.style.display = "none";lProv.style.display= "none";lCom.style.display="none";
if (ilForm.regioni.value == "")
{
lReg.style.display = "block";lReg.innerHTML = "E' necessario selezionare una regione";
err = false;
}
if (ilForm.provincie.value == "")
{
lProv.style.display = "block";lProv.innerHTML= "E' necessario selezionare una provincia.";
err = false;
}
if (ilForm.comuni.value == "")
{
lCom.style.display = "block";lCom.innerHTML= "E' necessario selezionare un comune.";
err = false;
}
return err;
}
//]]>
</script>

Il seguente form:
<form name="secondaprova" method="post">
<div align="center">
<fieldset style="text-align:center;width:500px">
<div id="FormError"> </div>
<table width="136%" border="0" cellpadding="0" cellspacing="0" style="width:100%;">
<tr>
<td style="text-align:right;width:20%;font-weight:bold;">Regioni </td>
<td style="text-align:left;width:80%"><div id="AHAH_regioni">
<select name="regioni" style="width:100%">
<option value="">seleziona una regione</option>
</select>
</div></td>
</tr>
<tr>
<td colspan="2" style="text-align:center"><div id="ErrorProvincie"> </div></td></tr>
<tr>
<td style="text-align:right;width:20%;font-weight:bold;">Provincie </td>
<td style="text-align:left;width:80%"><div id="AHAH_provincie"><select name="provincie" style="width:100%"><option value="">seleziona una provincia</option></select></div></td>
</tr>
<tr><td colspan="2" style="text-align:center"><div id="ErrorComuni"> </div></td></tr>
<tr>
<td style="text-align:right;width:20%;font-weight:bold;">Comuni&nbsp</td>
<td style="text-align:left;width:80%"><div id="AHAH_comuni"><select name="comuni" style="width:100%"><option value="">seleziona un comune</option></select></div></td>
</tr>
</table>
</fieldset>
</div>
</form>

Ho inserito nella directory principale la pagina dbcomuni.asp:
<!--#include file="class_dinamic_select.asp"-->
<%
value = replace(request("value")&"", "'", "&#39")
fieldtype = request("type")
set ds = new DinamicSelect
ds.DataBase = "/mdb-database/comuni.mdb"
if fieldtype = "regioni" then
' REGIONI
ds.DefaultText = "seleziona una regione"
ds.sql = "select distinct pr_regione from Tab_Provincia"
ds.SelectValue = "pr_regione"
ds.SelectText = "pr_regione"
ds.evento = " onchange=""caricaPagina('dbcomuni.asp?type=provincie&value=' " &_
"+ this.options[this.options.selectedIndex].value,'AHAH_provincie');"""
ds.NomeCampo = "regioni"
end if
' PROVINCIE
if fieldtype = "provincie" then
ds.DefaultText = "seleziona una provincia"
ds.sql = "select * from Tab_Provincia where pr_regione='"& value&"'"
ds.selected = value
ds.SelectValue = "pr_sigla"
ds.SelectText = "pr_desc"
ds.evento = " onchange=""caricaPagina('dbcomuni.asp?type=comuni&value='+ " &_
"this.options[this.options.selectedIndex].value,'AHAH_comuni');"""
ds.NomeCampo = "provincie"
end if
'COMUNI
if fieldtype = "comuni" then
ds.DefaultText = "seleziona un comune"
ds.sql = "select loc_desc, loc_prov from Tab_Localita where loc_prov = '"&value&"'"
ds.selected = value
ds.SelectValue = "loc_desc"
ds.SelectText = "loc_desc"
ds.evento = ""
ds.NomeCampo = "comuni"
end if
Response.Write (ds.CreaDinamicSelect())
set ds = nothing
%>

ed anche il file che includo: class_dinamic_select.asp
<%
Class DinamicSelect
Public SelectText 'impostare il nome del campo del database che verrà visualizzato nella lista
Public SelectValue 'impostare il nome del campo del database che verrà passato come valore della lista
Public Selected 'impostare la voce che verrà visualizzata nella lista al caricamento di pagina
Public DataBase 'impostare l'url del database
Public sql 'impostare la query per estrarre i dati
Public Evento 'impostare l'evento che provvederà al submit "parziale" del form
Public NomeCampo 'impostare il nome del campo (nell'ambito del form)
Public DefaultText
Public Function CreaDinamicSelect()
'creazione e apertura della connessioneù
tmpString = ""
Set conn = Server.createobject("adodb.connection")
connstr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &_
Server.MapPath("/mdb-database/comuni.mdb")
conn.open connstr
tmpString = tmpString & "<select style=""width:100%"" name=""" & me.NomeCampo & """" & me.Evento & """>" & vbcrlf
tmpString = tmpString & "<option value="""">" & Me.DefaultText & "</option>" & vbcrlf
'creazione del recordset
set rs = Server.Createobject("adodb.recordset")
'apertura del recordset
rs.open me.sql,conn,3,3
do until rs.eof
tmpString = tmpString & "<option value=""" & Trim(rs(me.SelectValue)) & """"
if rs(me.SelectValue) = me.selected then
tmpString = tmpString & "selected = ""selected"""
end if
tmpString = tmpString & ">" & Trim(UCase(rs(me.SelectText))) & "</option>" & vbcrlf
rs.movenext
loop
tmpString = tmpString &"</select>"& vbcrlf
'chiusura e distruzione del recordset
rs.close
set rs = nothing
'chiusura e distruzione della connessione
conn.close
set conn = nothing
CreaDinamicSelect = tmpString
End function
End Class
%>

Vi prego help, se non capisco non mi mandano in ferie!!!
 
Banalissimo non direi, sono 50 righe di codice :)

Prova a spiegarci che problemi hai esattamente: su due piedi non so che dirti.

Hai ragione, sono stanchissimo, capitemi....:p

In ogni caso ho risolto con un bel javascript e vado in ferie :mavieni:

In verità ho un ultimo problemino, spero che posso usare lo stesso post:
devo fare una pagina di riepilogo con dati che si trovano in 2 tabelle diverse.
Ad esempio: nome, cognome, indirizzo = tab1
profilo, telefono, altro = tab2

Un suggerimento sarebbe graditissimo..... vi porto da bere sulla spiaggia eheheheheheh
 
Hai ragione, sono stanchissimo, capitemi....:p

In ogni caso ho risolto con un bel javascript e vado in ferie :mavieni:

In verità ho un ultimo problemino, spero che posso usare lo stesso post:
devo fare una pagina di riepilogo con dati che si trovano in 2 tabelle diverse.
Ad esempio: nome, cognome, indirizzo = tab1
profilo, telefono, altro = tab2

Un suggerimento sarebbe graditissimo..... vi porto da bere sulla spiaggia eheheheheheh

Risolto anche questo!!
Ferieeeee

Grazie a tutti
 

Discussioni simili