Pagina 1 di 12 1 2 3 11 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 120

Discussione: Esempio select

  1. #1
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400

    Esempio select

    Ciao, sulla ricerca di html.it ho trovato un esempio in javascript di select dinamiche a questo indirizzo:

    http://www.html.it/mailing/archivio/a266/

    volevo chiederVi se questo code è personalizzabile tramite asp con i dati delle select presi da un database access e se il numero delle select può essere maggiore di due come nell'esempio citato.

    Grazie

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Si ma ci devi lavorare.
    E' un argomento a metà tra asp e javascript.
    Se riesci a farlo senza prendere dati dal db, quindi in maniera statica, poi aggiungere le parti dinamiche è facile.
    Ti consiglio di cominciare da lì.

    Roby

  3. #3
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Ti ringrazio per la risposta; hai già intuito il problema.

    In effetti staticamente il form funziona (continente-città) è dinamicamente che molti dubbi perchè se già riesco a recuperare i dati dal dbase, non ho ben chiaro come fare a incrociare questi dati ed ottenere un determinato valore nella seconda select selezionando una valore dalla prima select.
    Mi spiego? :master:

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Si ti spieghi....

    Roby

  5. #5
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Originariamente inviato da Roby_72
    Si ti spieghi....

    Roby
    La tua risposta mi conforta... ho fatto qualche passo avanti ed ho scritto questo code:
    codice:
    'FUNZIONE JAVASCRIPT
    <script language="javascript" type = "text/javascript">
    
    function vai(){
    var test;
    test="true";
     	
    	if (test=="true")
    				{
    				document.tabella1.action="pagina.asp";
    				document.tabella1.submit();
    				}
    	}
    
    </script>
    </head>
    
    'RECUPERO I DATI DALLA PRIMA TBL DEL DATABASE
    <form name="form">
    Invia la richiesta a: 
    <select size="1" name="REGIONI" style="font-size: 8 pt; font-family: Verdana" onChange="submit(this);">
                    <option value="TUTTI">------TUTTI------</option>
                    <%
    sql = "SELECT * FROM REGIONI ORDER BY REGIONI desc"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, cn, 3, 3
    
    On Error Resume Next
    rs.MoveFirst  
    Do While Not rs.EOF%>
    
    <option value=<%=rs("REGIONI")%>><%=rs("REGIONI")%></option>
    <%
    rs.MoveNext
    Loop
    rs.Close
    set rs = Nothing
    %>
    
                  </select> 
    
    
    'FACCIO POPOLARE LA SECONDA SELECT 
    <select size="1" name="CAPOLUOGHI" style="font-size: 8 pt; font-family: Verdana" onChange="aggiorna(this);";>
                    <option value="TUTTE">------TUTTE------</option>
                    <%
    if REGIONI <> 0 then
    Set RS1 = Server.CreateObject("ADODB.Recordset")
    sql1 = "select distinct TABELLA.id_CAPOLUOGO as SIST, CAPOLUOGO.CAPOLUOGO as BLOC from  CAPOLUOGO  inner join TABELLA on TABELLA.id_CAPOLUOGO=CAPOLUOGO.id_CAPOLUOGO WHERE TABELLA.id_REGIONI = "&REG&""
    rs1.open sql1, objconn
    
    On Error Resume Next
    rs.MoveFirst  
    Do While Not rs.EOF%>
    
    <option	value="<%=RS1("SIST")%>"><%=RS1("BLOC")%></option>
    			                
    <%
    		RS1.Movenext
    		LooP
    end if
    rs1.close 
    set rs1 = nothing 
    %>
    </select>
    </form>
    ma quando seleziono il valore TOSCANA dalla prima select, la seconda non si popola e sulla barra degli indirizzi mi ritrovo:
    /miosito.com/nello/052.asp?REGIONI=TOSCANA&CAPOLUOGO=TUTTE
    dove sbaglio?

  6. #6
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Ho corretto qualche errroe ma la sostanza non è cambiata:
    codice:
    'CONNESSIONE AL DATABASE
    
    
    'FUNZIONE JAVASCRIPT
    <script language="javascript" type = "text/javascript">
    
    function vai(){
    var test;
    test="true";
     	
    	if (test=="true")
    				{
    				document.form.action="pagina.asp";
    				document.form.submit();
    				}
    	}
    
    </script>
    </head>
    
    'RECUPERO I DATI DALLA PRIMA TBL DEL DATABASE
    <form name="form">
    
    Invia la richiesta a: 
    <select size="1" name="REGIONI" style="font-size: 8 pt; font-family: Verdana" onChange="submit(this);">
                    <option value="TUTTI">------TUTTI------</option>
                    <%
    sql = "SELECT * FROM REGIONI ORDER BY REGIONI desc"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, cn, 3, 3
    
    On Error Resume Next
    rs.MoveFirst  
    Do While Not rs.EOF%>
    
    <option value=<%=rs("REGIONI")%>><%=rs("REGIONI")%></option>
    <%
    rs.MoveNext
    Loop
    rs.Close
    set rs = Nothing
    %>
    
                  </select> 
    
    
    'FACCIO POPOLARE LA SECONDA SELECT 
    <select size="1" name="CAPOLUOGHI" style="font-size: 8 pt; font-family: Verdana" onChange="aggiorna(this);";>
                    <option value="TUTTE">------TUTTE------</option>
                    <%
    
    REGIONI = request.form("REGIONI")
    
    if REGIONI <> 0 then
    Set RS1 = Server.CreateObject("ADODB.Recordset")
    sql1 = "select distinct TABELLA.id_CAPOLUOGO as SIST, CAPOLUOGO.CAPOLUOGO as BLOC from  CAPOLUOGO  inner join TABELLA on TABELLA.id_CAPOLUOGO=CAPOLUOGO.id_CAPOLUOGO WHERE TABELLA.id_REGIONI = '"&REGIONI&"' "
    rs1.open sql1, conn
    
    On Error Resume Next
    rs1.MoveFirst  
    Do While Not rs1.EOF%>
    
    <option	value="<%=RS1("SIST")%>"><%=RS1("BLOC")%></option>
    			                
    <%
    		RS1.Movenext
    		LooP
    end if
    rs1.close 
    set rs1 = nothing 
    %>
    </select>
    </form>

  7. #7
    WHERE TABELLA.id_REGIONI = "®&""
    cos'è 'sta roba?

    Per popolare la seconda lista, nella query devi dire (pseudocodice):
    estrai dalla tabella capoluoghi quelli in cui il campo "regione" vale "toscana"
    cioè
    ..WHERE TABELLA.id_REGIONI = '"&var&"'"
    dove "var" è la variabile in cui hai memorizzato la scelta fatta nella prima lista.

    Questo si può fare scrivendo, al posto di "var" ----> rs("REGIONI")
    ma in questo caso non devi chiudere il recordset prima di usarlo
    (cioè devi postacipare le istruzioni
    rs.Close
    set rs = Nothing
    oppure (meglio) puoi memorizzarne il contenuto in una variabile così:
    var = rs("REGIONI")
    e poi puoi anche chiudere il recordset.

    Ci sono due cose importanti di cui tenere conto sempre:
    - quando aggiorni la pagina il contenuto delle variabili si perde, per rimorchiartelo e usarlo per popolare la lista devi scrivere
    var = request("var")
    - per scegliere i records di una certa regione, mi sembra che usi (giustamente) il campo id_REGIONE e non il campo REGIONE: è quello che devi passare (okkio perchè probabilmente sarà numerico).
    Attenzione anche al fatto che il valore passato quando fai una scelta nella select-box non è quello (REGIONE) che appare a video nella lista, ma quello contenuto nel tag
    <option value="questo_è_il_valore_passato ">REGIONE</option>
    Ok?

    Buon divertimento.
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  8. #8
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Originariamente inviato da teorema55
    WHERE TABELLA.id_REGIONI = "®&""
    cos'è 'sta roba?
    Scusa un errore di incollatura del code...
    dunque secondo le tue utili indicazioni ho modificato così il code:
    codice:
    'RECUPERO I DATI DALLA PRIMA TBL DEL DATABASE
    <form name="form">
    
    Invia la richiesta a: 
    <select size="1" name="REGIONI" style="font-size: 8 pt; font-family: Verdana" onChange="submit(this);">
                    <option value="TUTTI">------TUTTI------</option>
                    <%
    sql = "SELECT * FROM REGIONI ORDER BY REGIONI desc"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, cn, 3, 3
    
    On Error Resume Next
    rs.MoveFirst  
    Do While Not rs.EOF%>
    
    <option	value="<%=rs.Fields.Item("id_REGIONE").Value%>"><%= RS.Fields.Item("REGIONE").Value%></option>	
    				
    
    <%
    
    strVAR = rs ("REGIONE")
    
    rs.MoveNext
    Loop
    rs.Close
    set rs = Nothing
    %>
    
                  </select> 
    
    'FACCIO POPOLARE LA SECONDA SELECT 
    <select size="1" name="CAPOLUOGHI" style="font-size: 8 pt; font-family: Verdana" onChange="aggiorna(this);";>
                    <option value="TUTTE">------TUTTE------</option>
                    <%
    
    strVar = request("strVar")
    
    if REGIONI <> 0 then
    Set RS1 = Server.CreateObject("ADODB.Recordset")
    sql1 = "select distinct TABELLA.id_CAPOLUOGO as SIST, CAPOLUOGO.CAPOLUOGO as BLOC from  CAPOLUOGO  inner join TABELLA on TABELLA.id_CAPOLUOGO=CAPOLUOGO.id_CAPOLUOGO WHERE TABELLA.id_REGIONI = '"&strVar"' "
    
    rs1.open sql1, conn
    
    On Error Resume Next
    rs1.MoveFirst  
    Do While Not rs1.EOF%>
    
    <option	value="<%=RS1("SIST")%>"><%=RS1("BLOC")%></option>
    			                
    <%
    		RS1.Movenext
    		LooP
    end if
    rs1.close 
    set rs1 = nothing 
    %>
    </select>
    </form>
    purtroppo la musica non cambia... e poi perchè non funziona il response write???

  9. #9
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    il problema credo sia qui:
    codice:
    <select size="1" name="capoluoghi" style="font-size: 8 pt; font-family: Verdana" onChange="submit(this);">
                    <option value="TUTTE">------TUTTE------</option>
    ed ottengo:
    052.asp?REGIONE=6&CAPOLUOGHI=TUTTE
    se invece modifico così:
    codice:
    <select size="1" name="capoluoghi" style="font-size: 8 pt; font-family: Verdana" onChange="submit(this);">
                    <option>------TUTTE------</option>
    infatti se ottengo:
    052.asp?REGIONE=6&CAPOLUOGHI=
    cioè non passa nulla... :master:

  10. #10
    strVar = rs("REGIONE")
    non va bene, come ti avevo suggerito, devi fare
    strVar = rs("id_REGIONE")
    comincia a fare questa modifica
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.