2011-11-29 11 views
37

Todo, Estoy usando la interfaz de usuario de jQuery para el selector de fecha. Estoy tratando de verificar con Javascript que la fecha que el usuario ha ingresado está en el pasado. Aquí está mi código del formulario:Comprobar si la fecha es en el pasado Javascript

<input type="text" id="datepicker" name="event_date" class="datepicker"> 

Entonces ¿cómo puedo comprobar esto con Javascript para asegurarse de que no es una fecha en el pasado? Gracias

Respuesta

92

$('#datepicker').datepicker().change(evt => { 
 
    var selectedDate = $('#datepicker').datepicker('getDate'); 
 
    var now = new Date(); 
 
    now.setHours(0,0,0,0); 
 
    if (selectedDate < now) { 
 
    console.log("Selected date is in the past"); 
 
    } else { 
 
    console.log("Selected date is NOT in the past"); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script> 
 
<input type="text" id="datepicker" name="event_date" class="datepicker">

+2

¿Quiere decir 'var ahora = new Date()' con un espacio después de 'new'? – jfriend00

+0

Eso funcionó bien, gracias. – user1048676

+6

El delineador: 'if ($ ('# datepicker'). Datepicker ('getDate') davidchambers

-3
function isPrevDate() { 
    alert("startDate is " + Startdate); 
    if(Startdate.length != 0 && Startdate !='') { 
     var start_date = Startdate.split('-'); 
     alert("Input date: "+ start_date); 
     start_date=start_date[1]+"/"+start_date[2]+"/"+start_date[0]; 
     alert("start date arrray format " + start_date); 
     var a = new Date(start_date); 
     //alert("The date is a" +a); 
     var today = new Date(); 
     var day = today.getDate(); 
     var mon = today.getMonth()+1; 
     var year = today.getFullYear(); 
     today = (mon+"/"+day+"/"+year); 
     //alert(today); 
     var today = new Date(today); 
     alert("Today: "+today.getTime()); 
     alert("a : "+a.getTime()); 
     if(today.getTime() > a.getTime()) 
     { 
      alert("Please select Start date in range"); 
      return false; 
     } else { 
      return true; 
     } 
    } 
} 
+1

donde viene la var Fecha de inicio? –

3
var datep = $('#datepicker').val(); 

if(Date.parse(datep)-Date.parse(new Date())<0) 
{ 
    // do something 
} 
Cuestiones relacionadas