Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387

    Gestire le date in un form asp

    Salve ragazzi....

    Ho una maschera con 3 select,

    giorno
    mese
    anno

    banalmente giorno comprende tutte i numeri da 1 a 31
    mese tutti i mesi
    anno parte dal 2007 e finisce al 2020.

    La domanda è...

    a) lasciando tutti i numeri in ordine dall'1 al 31 come posso fare che sia sincronizzato con la data odierna? (ad esempio oggi 21 sarà selezionata già il numero 21)

    b) per il mese vorrei fare la stessa cosa... vorrei lasciare in ordine (gennaio, febbraio, marzo....) ma far visualizzare per primo il mese corrente.... è possibile?

    grazie a tutti!

  2. #2
    codice:
    <select name="giorno">
    <%
    for g = 1 to 31
    %>
    <option value="<%=g%>"<% if g = datePart("d",date()) then %> selected="selected"<% end if %>><%=g%></option>
    <%
    next
    %>
    </select>
    <select name="mese">
    <%
    for m = 1 to 12 
    %>
    <option value="<%=m%>"<% if m = datePart("m",date()) then %> selected="selected"<% end if %>><%=monthName(m)%></option>
    <%
    next
    %>
    </select>
    <select name="anno">
    <%
    for a = 2000 to 2020
    %>
    <option value="<%=a%>"<% if a = datePart("yyyy",date()) then %> selected="selected"<% end if %>><%=a%></option>
    <%
    next
    %>
    </select>

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    grazie mille

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    aspetta, cosi va benissimo,pero' nel database mi memorizza i mesi con i valori numeri (1,2....12), come faccio a farglieli salvare per nome (gennaio, febbraio....) ? grazie mille!

  5. #5
    Nella pagina ASP dopo la request...
    codice:
    mese = request.form("mese")
    mese = monthName(mese)
    Usi mese come variabile da usare per l'insert sul db.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    mo provo, grazie x l'intanto x la risposnta immediata!!!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    se non ti chiedo troppo (premetto che funziona *perfettamente* ) me lo spiegheresti in due righe il codice? anche solo x il mese, tanto ho visto che sono uguali... grazie!

  8. #8
    monthName è una funzione nativa di vbScrip la quale, passatole il valore numerico di un mese, restituisce il nome nello stesso in base alle importazioni internazionali del server.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    387
    ah.. no no intendevo questo

    [code]
    <select name="giorno">
    <%
    for g = 1 to 31
    %>
    <option value="<%=g%>"<% if g = datePart("d",date()) then %> selected="selected"<% end if %>><%=g%></option>
    <%
    next
    %>
    </select>
    [code]

    for g = 1 to 31 ---> va bè, imposto g che va da 1 a 31

    option value=g.... e va bè

    ma....

    codice:
    datePart("d",date()) then %> selected="selected"
    ?

  10. #10
    date() è la funzione di vbScript che restituisce la data corrente.
    La funzione datePart è in grado di "prelevare" le parti di una data in base agli argomenti "d", "m" e "yyyy".
    Se tu scrivi
    codice:
    response.write datePart("d",date())
    otterrai 21 (visto che oggi è il 21/02/2007).
    Quindi, nel ciclo di costruzione della select dei giorni, dei mesi e degli anni, verifico ad ogni "giro" se il valore di g (oppure m, oppure a) è uguale al valore della parte di data presa con la funzione datePart in base all'argomento "d", "m", o "yyyy". Se trovo una corrispondenza tra (ad esempio) g e il valore giorno preso con quella funzione, allora faccio apparire selected="selected" nella option.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.