Trong chrome, một thẻ nhưNhận giá trị đầu vào từ HTML5 input [type = "date"] trong chrome
<input id="picker" type="date">
ám như một trường văn bản. Tuy nhiên, gọi điện thoại cố gắng nhận giá trị của nó bằng một cái gì đó như:
$("#picker").val()
sẽ không trả lại cho đến khi ngày hợp lệ được nhập hoặc chọn từ trình đơn thả xuống. tôi đã xem xét tất cả các thuộc tính tức thời của đối tượng trên một phím nhấn với
$("#picker").keypress(function() {
var output = ""
for (var i in this) {
output += i +" value:"+ this[i] + "\n";
}
alert(output);
});
nhưng không thể nhìn thấy đầu vào của tôi trong bất kỳ trong số này. Kiểm tra chính mình tại http://jsfiddle.net/5cN2q/
Câu hỏi của tôi là: Có thể lấy văn bản từ đầu vào [type = "date"] trong chrome khi đầu vào không phải là ngày hợp lệ không?
Ah. Làm cho cảm giác đủ cho những gì tôi thấy. Mối quan tâm của tôi với việc triển khai Chrome là thiếu khả năng thực hiện xác thực tùy chỉnh; Việc triển khai dựa trên hộp văn bản của họ mang lại cho người dùng khả năng nhập bất kỳ chuỗi nào họ thích, nhưng cho tôi không có khả năng hỗ trợ khác ngoài việc kiểm tra xem val() === "" và có cảnh báo hay không. – MaxPRafferty
@MaxPRafferty Tôi đang sử dụng Chrome Canary tại thời điểm này (Phiên bản 25), phiên bản này có xác thực rất vững chắc, không cho phép nhập các giá trị ngày không hợp lệ (không giống như ổn định hiện tại). Hy vọng rằng nó sẽ được thực hiện trong bản phát hành ổn định sớm, và các trình duyệt khác hy vọng sẽ làm theo. '=]' –