Disabilita determinate date da html5 datepicker

È ansible disabilitare le date quando utilizzo Voglio disabilitare la data corrente per uno scenario e le date future per altri scenari. Come dovrei disabilitare le date?

È ansible aggiungere un attributo min o max al input type=date . La data deve essere in formato ISO (aaaa-mm-gg). Questo è supportato in molti browser per dispositivi mobili e versioni correnti di Chrome, sebbene gli utenti possano immettere manualmente una data non valida senza utilizzare datepicker.

  

Gli attributi min e max devono essere una data completa; non c’è modo di specificare “oggi” o ” +0 “. Per farlo, devi utilizzare JavaScript o un linguaggio lato server:

 var today = new Date().toISOString().split('T')[0]; document.getElementsByName("somedate")[0].setAttribute('min', today); 

http://jsfiddle.net/mblase75/kz7d2/

Escludere solo oggi, pur consentendo date passate o future, non è un’opzione con qui. Tuttavia, se volevi che domani fosse la data min (che oscilla oggi e tutte le date passate), vedi questa domanda per incrementare today di un giorno.

Come in tutti gli altri casi che riguardano moduli HTML, è necessario convalidare sempre il lato campo server indipendentemente da come lo si limita sul lato client.

Datepicker HTML ( ) supporta l’attributo min / max , ma non è ampiamente supportato .

Nel frattempo puoi prendere in considerazione l’utilizzo di bootstrap-datepicker , v1.2.0 è su github .

Riferimenti:

Spec. W3C

Puoi usare questo per disabilitare le date future:
Dentro te la funzione document.ready , posto

 //Display Only Date till today // var dtToday = new Date(); var month = dtToday.getMonth() + 1; // getMonth() is zero-based var day = dtToday.getDate(); var year = dtToday.getFullYear(); if(month < 10) month = '0' + month.toString(); if(day < 10) day = '0' + day.toString(); var maxDate = year + '-' + month + '-' + day; $('#dateID').attr('max', maxDate); 

e nella forma

  

Ecco la demo di lavoro di jFiddle