Tôi làm cách nào để lấy mã dưới đây hoạt động khi tôi có tháng tháng hai? Hiện tại nó đang đến ngày và sau đó dừng lại trước khi đến để xác định xem đó có phải là năm nhuận hay không.javascript để tìm năm nhuận
if (month == 2) {
if (day == 29) {
if (year % 4 != 0 || year % 100 == 0 && year % 400 != 0) {
field.focus();
field.value = month +'/' + '';
}
}
else if (day > 28) {
field.focus();
field.value = month +'/' + '';
}
}
"Dừng" làm thế nào? Có lỗi không? –
nó không bao giờ đánh giá năm để xem nếu nó là một năm nhuận nó đi thẳng đến field.focus và field.value cho dù đó là một năm nhuận hay không –
Các điều kiện của bạn trông hơi lạ - như chúng hiện đang viết bây giờ, bạn chỉ kiểm tra 'ngày' cho các giá trị từ 29 trở lên (dựa trên' ngày == 29' và 'ngày> 28' nếu mệnh đề). Tôi giả định rằng bạn có nghĩa là để viết 'ngày <= 28', nhưng nếu đó là trường hợp, bạn có thể thả mệnh đề' else if' thứ hai và sử dụng mệnh đề 'else' trực tiếp. Cũng có thể an toàn hơn để thêm một bộ ngoặc đơn bổ sung vào mệnh đề năm nhuận của bạn: 'if (năm% 4! = 0 || (năm% 100 == 0 && năm% 400! = 0))' – JW8