Combo List Dinamiche

mat635418

Nuovo Utente
9 Feb 2006
2
0
0
Chiedo un aiuto per un processo basato su ASP,
che utilizzando tre pagine mi permette di scegliere
tra marca, modello e allestimento di una automobile.
Il database da cui estrae i dati è propietario, quindi
terrò nascosta la parte di dichiarazione delle stringhe
sql e dei relativi dati d'accesso (ID e PW).
Il processo funziona, ma nel caricare la pagina successiva,
non riesco a intercettare la caption scelta dall'utente e
a farla rimanere nel combo precedente..spero di essermi fatto capire.

A seguire, posto il nucleo delle prime due pagine, a titolo d'esempio.
Non avendo io costruito le functions javascript, non mi trovo
molto nel modificarle, ma ho piena fiducia di trovare
qualche dritta dalle vostre menti geniali..

----------------------------------
pagina1
----------------------------------

<html>
<head>
<title>Scegli</title>


<script language="JavaScript">
<!--

function GoUrl(tipo,valore){
if(valore != "**"){
switch(tipo){
case 1:
var url = "scegli_modello.asp?CodMarca="+valore;
break;
case 2:
var url = "scegli_allest.asp?CodMarca=<%=CodMarca%>&CodModello="+valore;
break;
case 3:
var url = "elenco.asp?CodMarca=<%=CodMarca%>&CodModello=<%=CodModello%>&CodAllestimento="+valore;
break;
case 4:
var url='marca.asp?Largh=<%=Largh%>&Serie=<%=Serie%>&Diam=<%=Diam%>&IndCar=<%=IndCar%>&CodVel=<%=CodVel%>&CodMarca=<%=CodMarca%>&CodModello=<%=CodModello%>&CodAllestimento=<%=CodAllestimento%>&Stag='+valore;
break;
case 5:
var url='disegno.asp?Largh=<%=Largh%>&Serie=<%=Serie%>&Diam=<%=Diam%>&IndCar=<%=IndCar%>&CodVel=<%=CodVel%>&CodMarca=<%=CodMarca%>&CodModello=<%=CodModello%>&CodAllestimento=<%=CodAllestimento%>&Stag='+valore;
break;
case 6:
var url='scheda_prodotto.asp?CodProd=<%=CodProd%>&CodDisegno='+valore;
break;
}
window.location.replace(url);
}
}
function SetSelect(){
var CodMarca = "<%=CodMarca%>";
if(CodMarca != ""){
for(var i = 0; i<document.forms[0].CodMarca.length; i++){
if(document.forms[0].CodMarca.value == CodMarca){
document.forms[0].CodMarca.selected = true;
break;
}
}
}
var CodModello = "<%=CodModello%>";
if(CodModello != ""){
for(var i = 0; i<document.forms[0].CodModello.length; i++){
if(document.forms[0].CodModello.value == CodModello){
document.forms[0].CodModello.selected = true;
break;
}
}
}
var CodAllestimento = "<%=CodAllestimento%>";
if(CodAllestimento != ""){
for(var i = 0; i<document.forms[0].CodAllestimento.length; i++){
if(document.forms[0].CodAllestimento.value == CodAllestimento){
document.forms[0].CodAllestimento.selected = true;
break;
}
}
}
if(document.forms[0].CodDisegno){
document.forms[0].CodDisegno[0].selected = true;
}
}

function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args+".location='"+args[i+1]+"'");
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>

</head>

<form name="cerca" method="post" action="scegli_modello.asp">

<td>Scegli la marca della tua vettura:</td>
<td><select name="CodMarca" id="CodMarca" onChange="GoUrl(1,this.value)">
<option value="**" selected>Scegli la marca</option>

<%
Dim rs
Dim sql

Set rs = Server.CreateObject("ADODB.Recordset")

rs.CursorLocation=3

sql="SELECT MarcheAuto.CodMarcaAuto, MarcheAuto.Descrizione FROM ModelliAuto RIGHT OUTER JOIN Allestimenti ON"
sql=sql+" ModelliAuto.CodMarca = Allestimenti.CodMarca AND ModelliAuto.CodModello = Allestimenti.CodModello LEFT OUTER"
sql=sql+" JOIN MarcheAuto ON ModelliAuto.CodMarca = MarcheAuto.CodMarcaAuto WHERE (MarcheAuto.TipoOperazione <> 'D')"
sql=sql+" GROUP BY MarcheAuto.CodMarcaAuto, MarcheAuto.Descrizione ORDER BY MarcheAuto.Descrizione"

rs.open sql,conn,0, 1

do until rs.EOF
%>
<option value="<%=rs("CodMarcaAuto")%>"><%=rs("Descrizione")%></option>
<%

rs.movenext
loop

rs.close
%>

</select>
<%
set rs=nothing
conn.close
set conn=nothing
%>
</td>
</tr>
</form>
</table>

</body>
</html>


----------------------------------
pagina2
----------------------------------

<%
dim CodMarca
CodMarca = Request("CodMarca")
session("marca") = Request("CodMarca")
%>



<script language="JavaScript">
<!--
function GoUrl(tipo,valore){
if(valore != "**"){
switch(tipo){
case 1:
var url = "scegli_modello.asp?CodMarca="+valore;
break;
case 2:
var url = "scegli_allest.asp?CodMarca=<%=CodMarca%>&CodModello="+valore;
break;
case 3:
var url = "elenco.asp?CodMarca=<%=CodMarca%>&CodModello=<%=CodModello%>&CodAllestimento="+valore;
break;
case 4:
var url='marca.asp?Largh=<%=Largh%>&Serie=<%=Serie%>&Diam=<%=Diam%>&IndCar=<%=IndCar%>&CodVel=<%=CodVel%>&CodMarca=<%=CodMarca%>&CodModello=<%=CodModello%>&CodAllestimento=<%=CodAllestimento%>&Stag='+valore;
break;
case 5:
var url='disegno.asp?Largh=<%=Largh%>&Serie=<%=Serie%>&Diam=<%=Diam%>&IndCar=<%=IndCar%>&CodVel=<%=CodVel%>&CodMarca=<%=CodMarca%>&CodModello=<%=CodModello%>&CodAllestimento=<%=CodAllestimento%>&Stag='+valore;
break;
case 6:
var url='scheda_prodotto.asp?CodProd=<%=CodProd%>&CodDisegno='+valore;
break;
}
window.location.replace(url);
}
}
function SetSelect(){
var CodMarca = "<%=CodMarca%>";
if(CodMarca != ""){
for(var i = 0; i<document.forms[0].CodMarca.length; i++){
if(document.forms[0].CodMarca.value == CodMarca){
document.forms[0].CodMarca.selected = true;
break;
}
}
}
var CodModello = "<%=CodModello%>";
if(CodModello != ""){
for(var i = 0; i<document.forms[0].CodModello.length; i++){
if(document.forms[0].CodModello.value == CodModello){
document.forms[0].CodModello.selected = true;
break;
}
}
}
var CodAllestimento = "<%=CodAllestimento%>";
if(CodAllestimento != ""){
for(var i = 0; i<document.forms[0].CodAllestimento.length; i++){
if(document.forms[0].CodAllestimento.value == CodAllestimento){
document.forms[0].CodAllestimento.selected = true;
break;
}
}
}
if(document.forms[0].CodDisegno){
document.forms[0].CodDisegno[0].selected = true;
}
}

</script>


<form name="cerca" method="post" action="scegli_allest.asp">
<tr>
<td width="24">1</td>
<td width="189">Hai scelto la marca:</td>
<td width="145"> <select name="CodMarca" id="CodMarca" onChange="GoUrl(1,this.value)">
<option value="**">Scegli la marca</option>
<%
Dim rs
Dim sql

Set rs = Server.CreateObject("ADODB.Recordset")

rs.CursorLocation=3

sql="...stringa sql funzionante..."

rs.open sql,conn,0, 1

do until rs.EOF
%>
<option value="<%=rs("CodMarcaAuto")%>"><%=rs("Descrizione")%></option>
<%
rs.movenext
loop
rs.close
%>
</select></td>
<td width="548"><% response.write session("marca")%></td>
</tr>
<tr>

</tr>
<tr>
<td>2
<td>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorLocation=3
sql="...stringa sql funzionante..."

rs.open sql,conn,0, 1
%>
Scegli il modello:
<td><select id="CodModello" name="CodModello" onChange="GoUrl(2,this.value)">
<option value="**" selected>Scegli il modello</option>
<%
do until rs.EOF
%>
<option value="<%=rs("CodModello")%>"><%=rs("Descrizione")%></option>
<%
rs.movenext
loop
%>
<%
rs.Close
set rs=nothing
conn.close
set conn=nothing
%>
</select></td>
<td>&nbsp;</td>
</tr>
</form>
</table>



</body>
</html>

------------------------------------------------

Sostanzialmente, invece di visualizzare a monitor il codice scelto dall'utente,
mi servirebbe intercettare la stringa che contiene la marca, e posizionarla
nel <select>, per far in modo che l'utente, scegliendo il modello, abbia ancora
a vista la marca che ha scelto.
In futuro mi servirebbe anche una dritta su come far in modo che questo processo
appaia in un pop-up e, scelti marca---->modello--->allestimento, questi tre campi
si vadano a posizionare su tre <input> di tipo text che memorizzino le scelte fatte.
Spero di essermi fatto intendere, e di aver stimolato a sufficienza le vostre fervide menti.

A.
 
Discussioni simili
Autore Titolo Forum Risposte Data
C ACCESS Aprire maschera se valore non presente in una combo MS Access 7
F classic asp popolare combo box javascript Presentati al Forum 1
J [MS Access] Filtro su combo in sottomaschera MS Access 11
A [PHP] COMBO LOAD PRIMO CAMPO VUOTO PHP 2
G Aiuto su combo box di access MS Access 0
D Connessione tra un pc e il decoder tv i-can 2850ST Combo - tv on demand all'estero Reti LAN e Wireless 15
G Lasciare inalterati valori campi textarea e combo box PHP 0
felino JqueryUi Combo Autocomplete e Validation jQuery 1
M Caricamento di più combo concatenate Ajax 3
I Wix: domanda sulla versione combo Webdesign e Grafica 1
minatore Riempire una combo da una scelta Javascript 8
marco.carrieri Driver per Kworld Combo Box 7011R Windows e Software 0
U Passaggio di variabili tra combo PHP 3
D Combo che passa dati query ad input "hidden" PHP 15
° Combo MultiColumns Ajax 0
B passare valore combo in querystring Javascript 6
T Problema con le combo dinamiche Classic ASP 2
B Popolare combo in base ad un'altra combo Classic ASP 13
E combo che dipende da un'altra combo Javascript 7
J problemi con " combo box" HTML e CSS 6
D campotesto dipendente da combo box Javascript 2
R caricare campi automaticamente da combo Classic ASP 7
G Combo ... mantenere la selezione fatta Classic ASP 0
W MySQL SELECT list dinamica MySQL 0
Cosina Invio messaggio a mailing list su file txt PHP 9
C [PHP] Laravel Multple Dropdownl List PHP 8
V [Visual Basic] Richiamare funzione su modulo per restituire list Visual Basic 0
A [ASP] query wish list Classic ASP 3
Federico.Marcelo Come trovare una corretta mailing list italiana Email Marketing 7
F [Javascript] select list concatenate - passare valore dalla prima alla seconda Javascript 7
U elenco paesi black list... Leggi, Normative e Fisco 1
K [PHP] Message List PHP 3
M [SI CERCA] Grafico per rinnovare applicazione My Shopping List Offerte e Richieste di Lavoro e/o Collaborazione 0
F errore select option dropdown list jQuery 15
filomeni Un Video Player con play list Snippet Javascript 0
B Creare list view dati json Javascript 1
E HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this director Hosting 10
M Errore ListView con ID "android.R.id.list" Sviluppo app per Android 1
A funzione per popolare un drop down list Javascript 4
A [Risolto] Problema con un list box Classic ASP 2
M Select list regioni >province Joomla 0
A Creare una mailing list PHP 1
P [Vb.Net] Popolare un List View da database .NET Framework 1
M Creazione di una pagina web per la cancellazione da una mailing list PHP 13
R Php: checbox e list box PHP 5
M Problema con mailing list in php PHP 1
novello88 Creare mailing list con Thunderbird Email Marketing 0
A aiuto per mailing list PHP 6
neo996sps Iscrizione a mailing list PHP 2
S Generazione manuale mailing list da phpmyadmin MySQL 5

Discussioni simili