in
La comunità italiana dedicata a Sviluppatori e Architetti IT delle piattaforme Windows

lettura da menu dinamico

Ultimo messaggio ricevuto il 15-12-2005 9.50 da theFool. 6 risposta(e).
Pagina 1 di 1 (7 elemento/i)
Ordina messaggi: Precedente Successivo
  • 05-12-2005 14.48

    • danielix
    • Utente Top 150
    • Registrato il 05-12-2005
    • Messaggi 7

    Sleep [|-)] lettura da menu dinamico

    salve a tutti, uomini di buona e utile volontà

    da più giorni certo di far leggere al mio file modifica.asp dal db dove, uno dei campi, ha 3 opzioni.

    praticamente, all'apertura di modifica.asp il menu presente dovrebbe selezionarsi una delle opzioni del db. permettendomi, in seguito, di modificare da opz 1 a 2 o 3.

    da più giorni non ho alcun risultato, sapete aiutarmi.

    grazie anticipate per la vostra attenzione, daniele.

    • Log
  • 05-12-2005 17.47 In risposta a

    • theFool
    • Utente Top 10
    • Registrato il 13-07-2005
    • Piacenza
    • Messaggi 127

    Smile [:)] Re: lettura da menu dinamico

    Ciao,
    dovresti cercare di essere più chiaro: spendi qualche parola in più!

    Mi sembra di capire che non riesci a presentare la pagina di modifica compilata correttamente; il termine "menù dinamico" è troppo generico (potrebbe essere una casella combinata, un menù generato da javascript, ecc.), comunque qui sotto ti allego un esempio con i pulsanti di selezione (test.asp):

    <html>
     <body>
      <form name="frm" action="test.asp">
       <input type="radio" name="param" value="1">a
       <input type="radio" name="param" value="2">b
       <input type="radio" name="param" value="3">c
       <input type="submit" value="ok">
      </form>
     </body>
    </html>

    L'attributo checked (se presente) imposta lo stato di selezione iniziale; la relativa pagina asp potrebbe dunque essere scritta così:

    <html>
     <body>
      <form name="frm" action="test.asp">
       <input type="radio" name="param" value="1" <%= SetStato(1) %>>a
       <input type="radio" name="param" value="2" <%= SetStato(2) %>>b
       <input type="radio" name="param" value="3" <%= SetStato(3) %>>c
       <input type="submit" value="ok">
      </form>
     </body>
    </html>
    <%
     Function SetStato( iOpzione )
      If CStr(iOpzione)=Request("param") Then
       SetStato = "checked"
      Else
       SetStato = ""
      End If
     End Function
    %>
     
     
    - primo caricamento: la pagina non avrà alcuna voce selezionata;
    - l'utente seleziona una voce e clicca su ok;
    - secondo caricamento: la pagina ripropone la voce precedentemente selezionata, impostando l'attributo checked;

     

    Spero possa esserti d'aiuto....

    • Log
  • 05-12-2005 19.19 In risposta a

    • danielix
    • Utente Top 150
    • Registrato il 05-12-2005
    • Messaggi 7

    Re: lettura da menu dinamico

    grazie per la tua risposta. nel caso da te esposto si tratta di checked box.
    io intendo invece qualcosa del genere www.salentoclub.it/menu.gif
    questa è la pagina che devo compeltare.
    all'apertura di questo file "modifica.asp" il menu in alto dovrebbe selezionarsi sulla voce registrata nel db e, volendo, darmi la possibilità di cambiare da "info" a "conferma" ecc. aggiornando il db (come già fanno tutti gli altri campi).

    grazie ancora, daniele. aspetto la

    • Log
  • 07-12-2005 19.21 In risposta a

    • theFool
    • Utente Top 10
    • Registrato il 13-07-2005
    • Piacenza
    • Messaggi 127

    Wink [;)] Re: lettura da menu dinamico

    Ciao,
    con la GIF sei stato davvero chiaro, ed ho capito cosa intendi; per riprodurre una casella combinata è necessario utilizzare i tag selected ed option:

    <select name="tipoInfo">
       <option value="1">Info
       <option value="2">Opzione
       <option value="3">Conferma
    </select>

    In caso di submit al server, tipoInfo sarà valorizzato con l'attributo value della voce selezionata (es: Opzione -> 2).

    Per impostare una voce di default è sufficiente impostare l'attributo selected, così:

    <select name="tipoInfo">
       <option value="1">Info
       <option value="2">Opzione
       <option value="3" selected>Conferma
    </select>

    In questo modo la casella combinata verrà presentata all'utente sulla voce Conferma.

     

    Ecco un possibile esempio con i mesi:

    <html>
     <body>
      Selezionare un mese dall'elenco:
      <br>
      
      <select size="1">
       <%
        Dim i
        
        For i=1 to 12
         Response.Write getMese(i)
        Next
       %>
      </select>
     </body>
    </html>
    <%
     Function getMese( iMese )
      getMese = "<option value=" & CStr(iMese)
      If Month(Date())=iMese Then
       getMese = getMese & " selected"
      End If
      getMese = getMese & ">" & MonthName( iMese )
     End Function
    %>

    La funzione getMese restituisce un tag option opportunamente compilato, apponendo l'attributo selected per il mese corrente.

    Un approccio leggermente diverso, ma che talvolta alla lunga si rivela molto comodo, è quello di demandare determinate operazione al client, tramite un script che verrà eseguito dal browser anzichè da IIS.
    Ecco lo stesso esempio di poco fa con quest'altra tecnica:

    <html>
     <body onLoad="init();">
      Selezionare un mese dall'elenco:
      <br>
      
      <select size="1" id="cbMese">
       <%
        Dim i
        
        For i=1 to 12
         Response.Write getMese(i)
        Next
       %>
      </select>
     </body>
     <script>
      function init()
      {
       var cbMese;
       
       cb = document.getElementById( "cbMese" );
       cb.selectedIndex = <%= Month(Date())-1 %>;
      }
     </script>
    </html>
    <%
     Function getMese( iMese )
      getMese = "<option value=" & CStr(iMese) & ">" & MonthName( iMese )
     End Function
    %>

    Nota come sia possibile modifcare a piacimento la pagina tramite dhtml: la proprietà selectedIndex, che hanno tutti i tag select (nell'ambito del dom), viene valorizzata con il mese restituito dal server (se la sintassi ottenuta è corretta, il browser la processa correttamente).
    [E' necessario decrementare l'indice di 1 poichè la collezione degli option è in base 0.]

     

    Tornando al tuo caso, credo che tu abbia una tabella di look-up per questi valori (info/opzione/conferma), e dunque dovrai valorizzare i vari attributi value con i valori delle chiavi primarie di detta tabella.
    Per quanto concerne invece il valore di default, in base a cui applicare l'attributo select, ovviamente sarà il campo del record in anagrafica della persona.
    Ricorda infine che in caso di submit, la casella combinata avrà il valore della chiave primaria e dunque già disponibile per l'update del database.

    Ciao ciao

    P.S.:
    Permettimi di precisare che nel post precedente a questo, l'esempio di codice non conteneva affatto check box, bensì option button: non farti ingannare dal nome dell'attributo checked, e poni invece attenzione all'attributo type!

    Un ripassino di html?  Eh sì!...  Crying [:'(]

    • Log
  • 14-12-2005 14.29 In risposta a

    • danielix
    • Utente Top 150
    • Registrato il 05-12-2005
    • Messaggi 7

    Lightning [li] Re: lettura da menu dinamico

    cosa dire? grazie. anche se ho potuto leggere il messaggio solo oggi. non potevo più visualizzare questo sito.

    a presto, ancora- daniele

    • Log
  • 14-12-2005 15.01 In risposta a

    Re: lettura da menu dinamico

     danielix wrote:
    anche se ho potuto leggere il messaggio solo oggi. non potevo più visualizzare questo sito.

    Abbiate pazienza per i problemi di visibilità del sito: ci stiamo lavorando. Embarrassed [:$] Sono in serbo anche importanti novità, ma non vi anticipo nulla... Wink [;)]

    E grazie theFool per la tua puntuale competenza.

    • Log
  • 15-12-2005 9.50 In risposta a

    • theFool
    • Utente Top 10
    • Registrato il 13-07-2005
    • Piacenza
    • Messaggi 127

    Re: lettura da menu dinamico

    Merci beaucoup!
    • Log
Pagina 1 di 1 (7 elemento/i)
Prelevato da http://www.devspy.com/forums/p/4018/4256.aspx
DevSpy.com 6.0 © 2001-2008 - Alcuni Diritti Riservati
Salvo diversa indicazione, tutti i contenuti sono pubblicati sotto licenza "Creative Commons Attribution-Share Alike 3.0"