Nếu tôi sử dụng trường nhập kiểu = "number" với bước = "100". Tôi không muốn số lẻ không hợp lệ. Tôi chỉ muốn tăng hoặc giảm đến được với một giá trị của 1000.Loại đầu vào HTML5 = hành vi bước thay đổi số
<input type="number" min="100" max="999999" step="100" />
Nếu người dùng nhập giá trị "199" và nộp, anh/cô ấy được một lỗi bởi vì giá trị không phải là dividable 100. Nhưng tất cả những gì tôi muốn với giá trị bước là để kiểm soát hành vi của máy quay, ví dụ nếu người dùng nhấp lên, tôi muốn giá trị 199 trở thành 200 và nếu người đó nhấp vào tôi muốn nó trở thành 100. Hoặc lý tưởng tôi muốn giá trị được tăng hoặc giảm với giá trị 100.
Cách Tôi có làm điều này không? tôi đã cố gắng sử dụng các sự kiện không hợp lệ (với jQuery 1.7.2) như thế này:
$("[type='number']").bind('invalid', function(e) {
var el = $(this),
val = el.val(),
min = el.attr('min'),
max = el.attr('max');
if (val >= min && val <= max) {
return false;
}
});
Nhưng kết quả này theo hình thức không được nộp.
PS .: Đây là trong Google Chrome 20.0.1132.57 trên Fedora 16.
Tôi không chắc chắn bạn sẽ có thể giải quyết vấn đề này. Bạn có thể muốn xem xét sử dụng spinner của jQuery UI thay thế (http://tjvantoll.com/2012/07/15/native-html5-number-picker-vs-jquery-uis-spinner-which-to-use/). –
Ngoài ra, điều này có thể hữu ích - http://stackoverflow.com/questions/3090369/disable-validation-of-html5-form-elements. –