261 messaggi dal 01 aprile 2003
Ciao, che sbaglio in questo code:
 
 
'CONNESSIONE AL DATABASE
<!--#include file="conn.asp"-->

'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>
                <%
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>  
 


perchè 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
Modificato da viki1967 il 28 agosto 2004 13.16 -
Modificato da viki1967 il 28 agosto 2004 13.16 -
261 messaggi dal 01 aprile 2003
Il problema riscontrato è il seguente:

- seleziono un valore dalla prima select;
- la seconda si popola correttamente
- nella barra degli indirizzi mi ritrovo:
052.asp?REGIONI=11&CAPOLUOGHI=TUTTE&COMUNI=TUTTE 

- seleziono un valore dalla seconda select
- lo script va in errore
- nella barra degli indirizzi mi ritrovo:
 052.asp?REGIONI=TUTTI&CAPOLUOGHI=4&COMUNI=TUTTE 

se manualmente modifico il code sopra, così:
052.asp?REGIONI=11&CAPOLUOGHI=4&COMUNI=TUTTE 
lo script riprende a funzionare; presumo che l'errore sia dato dal fatto che nella prima select non rimane memorizzato il valore selezionato, nel nostro caso 11.

Sbaglio??? Come posso fare affinchè i campi selezionati nella select rimangono memorizzati??? Grazie.
Modificato da viki1967 il 30 agosto 2004 09.58 -
2.584 messaggi dal 14 maggio 2001
Devi mettere su ogni option della select REGIONI il seguente codice:

Do While Not rs.EOF

response.write "<option value=""" & rs("REGIONI") & """ "
If Request.form("REGIONI")=rs("REGIONI") Then
response.write " selected "
End If
response.write ">" & rs("REGIONI") & "</option>"
rs.MoveNext
Loop
261 messaggi dal 01 aprile 2003
seoman ha scritto:
Devi mettere su ogni option della select REGIONI il seguente codice:

Do While Not rs.EOF

response.write "<option value=""" & rs("REGIONI") & """ "
If Request.form("REGIONI")=rs("REGIONI") Then
response.write " selected "
End If
response.write ">" & rs("REGIONI") & "</option>"
rs.MoveNext
Loop
Grazie, ho scritto così ma ritorna su tutti nella prima select:
<option value="TUTTI" selected>------TUTTI------</option>
<%             

'FACCIO POPOLARE LA PRIMA SELECT              
sql = "SELECT * FROM REGIONI ORDER BY REGIONI desc"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, cn, 3, 3
  
Do While Not rs.EOF 
response.write "<option value=""" & rs("ID_REGIONI") & """ " 
If Request.form("REGIONI")=rs("REGIONI") Then 
response.write " selected " 
End If 
response.write ">" & rs("REGIONI") & "</option>" 

rs.MoveNext
Loop
rs.Close
set rs = Nothing
%>

              </select>
2.584 messaggi dal 14 maggio 2001
Scusa il controllo deve essere fatto così:

If Request.QueryString("REGIONI")=rs("REGIONI") Then

perché te li passi via querystring...
261 messaggi dal 01 aprile 2003
seoman ha scritto:
Scusa il controllo deve essere fatto così:

If Request.QueryString("REGIONI")=rs("REGIONI") Then

perché te li passi via querystring...
Grazie, non cambia nulla...:
 'FACCIO POPOLARE LA PRIMA SELECT              
sql = "SELECT * FROM REGIONI ORDER BY REGIONI desc"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, cn, 3, 3
  
Do While Not rs.EOF 
response.write "<option value=""" & rs("ID_REGIONI") & """ " 
If Request.querystring("REGIONI")=rs("REGIONI") Then 
response.write " selected " 
End If 
response.write ">" & rs("REGIONI") & "</option>" 

rs.MoveNext
Loop
rs.Close
set rs = Nothing
2.584 messaggi dal 14 maggio 2001
Se fai:
response.write request.form("regioni") & " post<br>"
response.write request.querystring("regioni") & " querystring<br>"

Quale delle due viene valorizzata?
261 messaggi dal 01 aprile 2003
seoman ha scritto:
Se fai:
response.write request.form("regioni") & " post<br>"
response.write request.querystring("regioni") & " querystring<br>"

Quale delle due viene valorizzata?
con questo code il response write sembra non funzionare...

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.