Đối tượng Input Month đại diện cho <input type="month"> - cho phép chọn tháng và năm (giao diện lịch tháng). Định dạng giá trị: YYYY-MM.
Tạo input month động
var monthInput = document.createElement("INPUT");
monthInput.setAttribute("type", "month");
Các thuộc tính chính
| Thuộc tính | Mô tả |
|---|---|
| autocomplete | Bật/tắt tự động hoàn thành trình duyệt. |
| autofocus | Tự động focus khi tải trang. |
| disabled | Vô hiệu hóa input. |
| defaultValue | Giá trị mặc định ban đầu. |
| form | Form chứa input (chỉ đọc). |
| list | Tham chiếu <datalist> gợi ý (chỉ đọc). |
| max | Tháng/năm lớn nhất cho phép (YYYY-MM). |
| min | Tháng/năm nhỏ nhất cho phép (YYYY-MM). |
| name | Tên trường form. |
| readOnly | Chỉ đọc (vẫn submit giá trị). |
| required | Bắt buộc chọn trước khi submit. |
| step | Bước nhảy (số tháng) khi dùng stepUp/stepDown. |
| type | Luôn là "month" (chỉ đọc). |
| value | Giá trị hiện tại (YYYY-MM). |
Phương thức
| Phương thức | Mô tả |
|---|---|
| stepUp(n) | Tăng giá trị lên n tháng (mặc định 1). |
| stepDown(n) | Giảm giá trị xuống n tháng (mặc định 1). |
Ví dụ: Tạo input month động
<!DOCTYPE html>
<html>
<head>
<style>
body { text-align: center; font-family: sans-serif; padding: 20px; }
h1 { color: #23CE6B; }
.btn {
background: white; border: 1.5px dashed #0197F6; color: #0197F6;
padding: 10px 20px; border-radius: 4px; width: 60%;
margin: 20px auto; display: block; cursor: pointer;
}
</style>
</head>
<body>
<h1>Ví dụ DOM Input Month Object</h1>
<button onclick="createMonthField()" class="btn">Tạo input tháng</button>
<script>
function createMonthField() {
var input = document.createElement("INPUT");
input.setAttribute("type", "month");
input.setAttribute("value", "2019-07");
document.body.appendChild(input);
}
</script>
</body>
</html>
Kết quả
Trước khi nhấn:

Sau khi nhấn "Tạo input tháng":

🌐 Hỗ trợ trình duyệt: Chrome, Edge, Opera hỗ trợ đầy đủ giao diện lịch. Firefox, Safari hiển thị như input text (cần polyfill hoặc thư viện như flatpickr cho UI nhất quán).