Visualizzazione dei risultati da 1 a 8 su 8

Discussione: cotnrollo su data

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461

    cotnrollo su data

    Ciao a tutti!

    ho un campo dove inserisco una data nel formato :

    GG-MM-AAAA

    ora devo fare un controllo in js che mi verifica se la data selezionata è minore della data corrente ma non so proprio come si scrive "se la data scelta" è minore a data di adesso allora alert..

  2. #2
    beh, se sai ottenere le date fai:

    var d; //la data inserita
    var now = new Date();

    if(d.getTime() < now.getTime())
    {
    alert('La data inserita è nel passato');
    }
    I DON'T Double Click!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    461
    var now = new Date();
    if((document.getElementById("sel3").getTime() < now.getTime()){alert('Not booked before today');}return false;}


    dove id sel3 è il campo con la data ma non va

  4. #4
    nonono, devi estrare il value dal campo con id sel3, poi trasformarlo in un oggetto Date.
    I DON'T Double Click!

  5. #5
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Giusto che siamo in tema.. per creare un oggetto Date si puo' guardare qui: http://www.w3schools.com/jS/js_obj_date.asp

    E salta fuori che per creare la data 14 gennaio 2010 si scrive:

    var myDate=new Date();
    myDate.setFullYear(2010,0,14);

    A me però risulta che scrivere anche

    var myDate=new Date(2010, 0, 14);

    Funziona.. ma perchè questo costruttore non compare tra quelli documentati?
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    var myDate=new Date(2010, 0, 14); Funziona.. ma perchè questo costruttore non compare tra quelli documentati?

    https://developer.mozilla.org/en/Cor...l_Objects/Date

    https://developer.mozilla.org/en/Cor...te/setFullYear


    Pietro

  7. #7
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    L'anno deve essere di 4 cifre


    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    
    function Button1_onclick() 
    {
        var s_data = document.getElementById("text1").value;
        if(IsDate(s_data))
        {
            a_data = s_data.split(/\//g);
            if(parseInt(a_data[2]) <= 99) 
            {
                alert("L'anno della data deve essere di 4 cifre");
                return;
            }
            
            var d_data = new Date(a_data[2], a_data[1]-1, a_data[0]);
            var d_oggi = new Date(); d_oggi = new Date(d_oggi.getFullYear(), d_oggi.getMonth(), d_oggi.getDate());
            if(d_data > d_oggi)
                alert("La data è maggiore della odierna");
            else if(d_data < d_oggi)
                alert("La data è minore della odierna");
            else alert("La data è quella odierna");
    
        }
    }
    
    
    //------------------------------------------------
    //valida la stringa dateStr
    //------------------------------------------------
    function IsDate(dateStr)
    {
    	var datePat = /^((3[01]|[12]\d|0?[1-9])\/(0?[13578]|10|12)\/(\d\d)?\d\d|(30|[12]\d|0?[1-9])\/(0?[469]|11)\/(\d\d)?\d\d|(2[0-8]|[01]\d|0?[1-9])\/(0?2)\/(\d\d)?\d\d|29\/(0?2)\/(1200|1600|2000|2400|2800|00)|29\/(0?2)\/(\d\d)?(0[48]|[2468][048]|[13579][26]))$/;
        var matchArray = dateStr.match(datePat); 
    	return !(matchArray == null);
    	
    }
    
    
    
    // ]]>
    </script>
    
    </head>
    <body>
        <input id="text1" type="text" /><input id="Button1" type="button" value="controlla data" onclick="return Button1_onclick()" />
    </body>
    </html>
    Pietro

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.