Visualizzazione dei risultati da 1 a 5 su 5

Discussione: on change combobox

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    4

    on change combobox

    Ciao a tutti,

    ho un problema,
    ho una pagina asp con una combobox popolata da un db, essendo alle prime armi non riesco ad utilizzare la funzione on change per utilizzare la scelta effettuata dalla combobox per visualizzare i dati in base alla selezione.

    Spero tanto in un aiuto.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non riguarda ASP:

    codice:
    <select name="regione_id" onchange="document.location.href='default.asp?ID='+this.value" class="formselect">
    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    4
    scusa, non capisco una cosa:
    praticamente quando vado a selezionare una opzione viene caricata un'altra pagina o si aggiorna la stessa?

    Perdonami ma non sono molto pratico, questa è la pagina che contiene la combobox, se ho capito il funzionamento di asp, all'apertura si connette al db estrae i dati dal campo società e riempie la combobox, quindi quando vado a selezionare la combobox deve ricaricare la pagina eseguendo una nuova query che filtri i dati in base alla scelta, giusto?

    Se hai un attimo di tempo ti pregherei di farmi vedere come risolvere il problema.

    <HTML>
    <HEAD>
    <TITLE></TITLE>
    </HEAD>
    <BODY background="img/bgmela.gif">
    <p align="center">
    <%
    'Stringa per la connessione
    cString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("sms_site.mdb")
    'creazione connessione
    Set objConn=Server.CreateObject("ADODB.Connection")

    'apertura connessione
    objConn.Open cString

    'creazione recordset
    Set rs = Server.CreateObject("ADODB.Recordset")

    nometabella="clienti" ' inserisci qui il nome della tabella da vedere

    'query sql
    sql = "select distinct(societa) from "&nometabella&""

    'apertura recordset
    rs.Open sql, objConn, 3, 3

    if rs.eof then 'se il recordset è vuoto.....

    %>
    <FORM NAME="modulo">
    <TABLE BORDER="0" ALIGN="center">
    <TR>
    <TD ALIGN="center">
    <FONT FACE="verdana, arial, helvetica" SIZE="-1">
    <%
    else 'se invece il recordset contiene dei dati.....

    %>
    Selezionare società:
    <p align="center">
    <select name=nome size=1>
    <% do while not rs.eof%>
    <option value="<%=rs("societa")%>"><%=rs("societa") %></option>
    <% rs.movenext
    loop%>
    </select>
    <%
    end if

    'chiusura e distruzione recordset
    rs.close
    set rs=nothing

    'chiusura e distruzione connessione
    objConn.close
    set objconn=nothing
    %>

    </p>

    </p>
    <FORM NAME="modulo">
    <TABLE BORDER="0" ALIGN="center">
    <TR>
    </FONT>
    </TABLE>
    </FORM>
    </BODY>
    </HTML>

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La pagina la scegli tu, io ho messo default.asp ma essere una qualsiasi.
    Il valori scelto lo trovi in querystring e quindi per recuperarlo dovrai fare:

    codice:
    id = trim(request.querystring("id"))
    utilizzando il nome che avevo dato io nell'esempio.
    Per far sì che il valore sia selezionato nella SELECT quando ricarica la pagina:

    codice:
    <option value="<%=rs("societa")%>"<%if cstr(societa) = cstr(id) then%> selected="selected"<%end if%>><%=rs("societa") %></option>
    Roby

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    4
    Ok, forse comincio a caprire,

    Io ho chiamato a.asp la prima dove viene selezionato l'opzione e b.asp quella ricaricata con la selezione.

    a.asp

    <HTML>
    <HEAD>
    <TITLE></TITLE>
    </HEAD>
    <BODY background="img/bgmela.gif">
    <p align="center">
    <%
    'Stringa per la connessione
    cString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("sms_site.mdb")
    'creazione connessione
    Set objConn=Server.CreateObject("ADODB.Connection")

    'apertura connessione
    objConn.Open cString

    'creazione recordset
    Set rs = Server.CreateObject("ADODB.Recordset")

    nometabella="clienti" ' inserisci qui il nome della tabella da vedere

    'query sql
    sql = "select distinct(societa) from "&nometabella&""

    'apertura recordset
    rs.Open sql, objConn, 3, 3

    if rs.eof then 'se il recordset è vuoto.....

    %>
    <FORM NAME="modulo">
    <TABLE BORDER="0" ALIGN="center">
    <TR>
    <TD ALIGN="center">
    <FONT FACE="verdana, arial, helvetica" SIZE="-1">
    <%
    else 'se invece il recordset contiene dei dati.....

    %>
    Selezionare società:
    <p align="center">
    <select name="nome_societa" onchange="document.location.href='b.asp?ID='+this. value" class="formselect">
    <% do while not rs.eof%>
    <option value="<%=rs("societa")%>"><%=rs("societa") %></option>
    <% rs.movenext
    loop%>
    </select>
    <%
    end if

    'chiusura e distruzione recordset
    rs.close
    set rs=nothing

    'chiusura e distruzione connessione
    objConn.close
    set objconn=nothing
    %>

    </p>

    </p>
    <FORM NAME="modulo">
    <TABLE BORDER="0" ALIGN="center">
    <TR>
    </FONT>
    </TABLE>
    </FORM>
    </BODY>
    </HTML>

    Poi nella pagina b.asp

    Qui non riesco a capire dove inserire il codice che mi hai dato, e devo tenere anche in questa pagina la connessione al db, ma la query che utilizza la selezione come devo farla?

    ti ringrazio anticipatamente mi stai facendo un grosso favore.

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.