Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [js] controllo data

  1. #1
    ra.denis
    Guest

    [js] controllo data

    ciao a tutti.

    ho uno script che mi controlla i campi di un form riguardanti la data

    function controldate() {
    var curdate = new Date();
    var curday = ((curdate.getDate()) -1 ); // day
    var curmonth = curdate.getMonth(); // 0 is January, December is 11
    // change month

    document.fm_search.Dep_Month.options.selectedIndex = curmonth;
    document.fm_search.Rtn_Month.options.selectedIndex = curmonth;
    // change day
    document.fm_search.Dep_Day.options.selectedIndex = curday;
    document.fm_search.Rtn_Day.options.selectedIndex = curday;
    }

    i tipi del sito pero' rompono perche vorrebbero che la data fosse 3 giorni avanti (praticamente devi prenotare con 3 giorni di anticipo)... e qui nessun problema da -1 passo a +2.
    ma se e' ad esempio il 30 di agosto? visto che' e' sono campi select mi resta fermo a 30, o peggio il codice potrebbe non andare.

    domanda come faccio a fargli cambiare la data al mese successivo (quando necessario)?

    poi... visto che e' caldo e' bello rendere le cose complicate.

    e' possibile disabilitare i giorni e i mesi antecedenti alla data di oggi+3?

    grazie a tutti in anticipo, in intanto provo a mettermi all'opera!


  2. #2
    Reale_Augello
    Guest

    Beh...

    ... prima di tutto dovresti verificare il numero di giorni del mese e, eventualmente, scoprire anche se l'anno e bisestile (per febbraio). Dopodichè, con una semplice differenza, riesci a capire se vai oltre i 28/29/30/31 giorni e agisci di conseguenza.

    Ciao !

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    C'e` un metodo piu` semplice.

    var curdate = new Date();
    var piutre = new Date();
    piutre.setDate(piutre.getDate() + 3);
    // nella variabile piutre c'e` la data corretta tra tre giorni

    NOTA IMPORTANTE: il metodo Date() estrae la data del client. In un caso come il tuo non puoi fidarti di tale data; devi passare la data del server.
    La sintassi dipende dal linguaggio che usi (ASP, PHP, CGI...), ma in linea di massima e`:

    var curdate= new Date("<?echo $date?>");

    dove la variabile $date contiene la data corrente (del server) nel formato richiesto dalla funzione Date() di JS.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.