Jeśli używam pola wejściowego typu = "liczba" z krokiem = "100". Nie chcę, aby liczby nieparzyste były nieprawidłowe. Chcę tylko zwiększenie lub zmniejszenie się z wartością 1000.Typ wejścia HTML5 = zmiana kroku zmiany numeru
<input type="number" min="100" max="999999" step="100" />
Jeżeli użytkownik wprowadzi wartość „199” i twierdzi, on/ona robi błąd, ponieważ wartość ta nie jest podzielna przez 100. Ale wszystko, czego chcę z wartością kroku, to kontrolować zachowanie przędzarki, np. jeśli użytkownik kliknie w górę Chcę, aby wartość 199 stała się 200, a jeśli kliknie w dół, chcę, aby stała się 100. Lub najlepiej chciałbym, aby wartość została zwiększona lub zmniejszona o wartość 100.
Jak czy to zrobię? Próbowałem przy użyciu nieprawidłowej zdarzenie (z jQuery 1.7.2) tak:
$("[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;
}
});
Ale to efekty w postaci nie są złożone.
PS .: To jest w Google Chrome 20.0.1132.57 na Fedorze 16.
nie jestem na pewno będziesz w stanie to obejść. Zamiast tego możesz rozważyć użycie spinnera jQuery UI (http://tjvantoll.com/2012/07/15/native-html5-number-picker-vs-jquery-uis-spinner-which-to-use/). –
Może to również być pomocne - http://stackoverflow.com/questions/3090369/disable-validation-of-html5-form-elements. –