Có thể vô hiệu hóa ngày khi tôi sử dụng Tôi muốn tắt ngày hiện tại cho một kịch bản và ngày trong tương lai cho trường hợp khác. Tôi nên tắt các ngày như thế nào?Vô hiệu hóa các ngày nhất định từ ngày tháng html5
Trả lời
Trình ghi ngày tháng HTML (<input type=date>
) hỗ trợ thuộc tính min
/max
, nhưng nó là not widely supported.
Đồng thời, bạn có thể cân nhắc sử dụng bootstrap-datepicker, phiên bản v1.2.0 là trên github.
Tài liệu tham khảo:
You can add a min
or max
attribute to the input type=date
. Ngày phải ở định dạng ISO (yyyy-mm-dd). Điều này được hỗ trợ trong nhiều trình duyệt dành cho thiết bị di động và các phiên bản Chrome hiện tại, mặc dù người dùng có thể nhập ngày không hợp lệ theo cách thủ công mà không cần sử dụng công cụ datepicker.
<input name="somedate" type="date" min="2013-12-25">
Các min
và max
thuộc tính phải là một ngày đầy đủ; không có cách nào để chỉ định "hôm nay" hoặc "+0
". Để làm điều đó, bạn sẽ cần phải sử dụng JavaScript hoặc một ngôn ngữ server-side:
var today = new Date().toISOString().split('T')[0];
document.getElementsByName("somedate")[0].setAttribute('min', today);
http://jsfiddle.net/mblase75/kz7d2/
cầm quyền ra chỉ ngày hôm nay, trong khi cho phép trong quá khứ hay tương lai ngày, chứ không phải là một lựa chọn ở đây. Tuy nhiên, nếu bạn có nghĩa là bạn muốn ngày mai là ngày min
(xóa ngày hôm nay và tất cả các ngày trong quá khứ), hãy xem this question để tăng today
trước một ngày.
Như trong tất cả các trường hợp khác liên quan đến biểu mẫu HTML, bạn phải luôn xác thực phía máy chủ trường bất kể bạn hạn chế phía máy khách như thế nào.
Có thể dễ dàng. bạn có thể làm điều này bằng cách làm theo
<input type="date" min="<?php echo date("Y-m-d"); ?>" > </input>
Ai nói rằng anh ta đang sử dụng PHP? – Blazemonger
nếu anh ta không sử dụng thì anh ta phải sử dụng có thể là tôi nghĩ html5 không cung cấp faciltiy này. nếu bạn biết cách thực hiện điều này mà không cần sử dụng PHP thì hãy đăng câu trả lời của bạn để tôi cũng có thể nâng cấp kiến thức của mình – Ritesh
Hoàn thành: http://stackoverflow.com/a/19253547/901048 – Blazemonger
Bạn có thể sử dụng để vô hiệu hóa ngày trong tương lai:
Bên trong, bạn document.ready
chức năng, đặt
//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);
và ở dạng
<input id="dateID" type="date"/>
Đây là làm việc jFiddle Demo
Tính năng này có hoạt động không? – Pasta
@Pasta Vâng, đúng vậy. Bạn có vấn đề cụ thể nào khi triển khai nó? – Blazemonger
Nếu người dùng chèn ngày theo đầu vào thay vì theo lịch, điều này không hoạt động: ( – smartmouse