2015-05-28 18 views
16

Tôi đang sử dụng HTML5 <input type="date" />, hoạt động tốt trong Chrome và tôi nhận được popup lịch để chọn ngày.Loại đầu vào HTML 5 = "ngày" không hoạt động trong Firefox

Nhưng trong firefox nó hoạt động như một hộp văn bản và không có lịch bật lên.

Sau khi thực hiện một vài nghiên cứu, tôi thấy một số giải pháp sử dụng webshims, modenizr, v.v ... nhưng tôi không muốn sử dụng jQuery.

Có cách nào khác không? Làm thế nào tôi có thể làm cho nó hoạt động trong Firefox?

+1

hoàn toàn phụ thuộc vào phiên bản trình duyệt .. [Kiểm tra điều này] (http://caniuse.com/#search=date) – Rayon

+0

Bản sao có thể có của [Cách nhận kiểu nhập HTML 5 = "ngày" làm việc trong Firefox và/hoặc IE 10] (http://stackoverflow.com/questions/22983013/how-to-get-html-5-input-type-date-working-in-firefox-and-or-ie- 10) – rdans

Trả lời

-2

Phiên bản firefox nào bạn đang sử dụng.Firefox phiên bản thấp hơn dưới 30 sẽ không hỗ trợ hầu hết các tính năng html5 và kiểu nhập html5 = "ngày" không được hỗ trợ trên firefox. Để biết thêm chi tiết, vui lòng tham khảo: http://caniuse.com/#feat=input-datetime.

  1. Trình duyệt firefox không cung cấp hỗ trợ đầy đủ cho html5 nhưng hầu hết các tính năng được hỗ trợ trên các phiên bản trên 30.
  2. Các thuận tiện hơn là là sử dụng jquery hoặc DateTimePicker bootstrap để lựa chọn date.It sẽ được hỗ trợ trên tất cả các loại trình duyệt.
+1

Sai. Tôi có Firefox 38 và không hỗ trợ ngày nhập. –

+1

Bạn đã mở liên kết chưa? Firefox hoàn toàn đỏ. Màu đỏ có nghĩa là nó không hỗ trợ nó. –

+0

Xác nhận thứ hai: Firefox 38 không hỗ trợ kiểu nhập này là "ngày" – repzero

1
`input type="date"` is not supported on mozilla 

kiểm tra các link cho danh sách các sự kiện hỗ trợ

23

EDIT: từ Firefox 57, <input type="date"/>partially supported.


Firefox doesn't support HTML5's <input type="date"/>.

Bạn có hai lựa chọn:

  • luôn luôn sử dụng một datetime picker Javascript, hoặc
  • kiểm tra nếu trình duyệt là hỗ trợ thẻ rằng, nếu có sử dụng nó, nếu không có thì dự phòng trên một datepicker javascript (jQuery hoặc một số khác).

Đây được gọi là Feature DetectionModernizr là thư viện phổ biến nhất cho việc này.

Sử dụng luôn luôn là một datepicker javascript là dễ dàng hơn và nhanh hơn nhưng nó sẽ không làm việc với Javascript bị vô hiệu (ai quan tâm), nó sẽ làm việc rất xấu trên điện thoại di động (điều này rất quan trọng) và nó sẽ có mùi cũ.

Sử dụng phương pháp kết hợp thay thế sẽ cho phép bạn bao quát mọi trường hợp ngay bây giờ, cho đến khi mọi trình duyệt sẽ hỗ trợ trình đếm ngày HTML5 theo cách được chuẩn hóa và không cần javascript. Đó là tương lai-proof, và this is especially important in mobile browsing, nơi javascript datepickers gần như không sử dụng được.

Đây là một cú đá ra ví dụ để làm điều đó trên mỗi <input type="date"/> yếu tố của mỗi trang tự động:

<script> 
    $(function(){   
     if (!Modernizr.inputtypes.date) { 
     // If not native HTML5 support, fallback to jQuery datePicker 
      $('input[type=date]').datepicker({ 
       // Consistent format with the HTML5 picker 
        dateFormat : 'yy-mm-dd' 
       }, 
       // Localization 
       $.datepicker.regional['it'] 
      ); 
     } 
    }); 
</script> 

Nó sử dụng jQuery vì tôi sử dụng jQuery, nhưng bạn có thể tự do thay thế những phần jQuery với vani javascript, và phần datepicker với một datepicker javascript của sự lựa chọn của bạn.

+1

Cách đơn giản và tuyệt vời để xử lý các trình duyệt cũ và không hỗ trợ! +1 –

+0

Xin lỗi câu hỏi này sẽ đến vào lúc này, nhưng làm thế nào để bạn gọi hàm javascript này từ mã html của bạn ?? –

+0

Làm sạch tập lệnh đó trong một đoạn chung được nhập vào mỗi trang, bạn nên có một số ... –

1

tôi sử dụng 6 selectboxes HTML, cho các mục khác nhau, với tuyên bố OPTION cho các giá trị thích hợp:

năm 2000-2050 (hoặc bất kỳ phạm vi mà bạn chọn) tháng 1-12 (bạn có thể có nó hiển thị tháng tên) ngày 1-31 giờ 0-23 (hoặc sử dụng 12 giờ đêm - 11:00, điều này chỉ thay đổi hiển thị) phút 0-59 thứ hai 0-59 (hoặc chỉ giả 0)

Không javascript cần thiết , mặc dù tôi sử dụng một số để tránh các lựa chọn không hợp lệ (như ngày 30 tháng 2). Điều này được kích hoạt khi thay đổi tháng hoặc năm.

Các vấn đề liên quan