Se utilizzo un campo di input di type = "number" con step = "100". Non voglio che i numeri dispari non siano validi. Voglio solo aumentare o diminuire di essere con un valore di 1000.Tipo di input HTML5 = comportamento del passaggio al cambiamento di numero
<input type="number" min="100" max="999999" step="100" />
Se l'utente immette il valore "199" e sostiene, lui/lei ottiene un errore perché il valore non è divisibile per 100. Ma tutto quello che voglio con il valore di passo è controllare il comportamento della filatrice, ad es. se l'utente fa clic su Voglio che il valore 199 diventi 200 e se lui/lei fa clic giù voglio che diventi 100. O idealmente vorrei che il valore fosse aumentato o diminuito con un valore di 100.
Come faccio questo? Ho provato ad utilizzare l'evento non valido (con jQuery 1.7.2) come questo:
$("[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;
}
});
Ma questo si traduce nella forma, non di essere presentati.
PS .: Questo è in Google Chrome 20.0.1132.57 su Fedora 16.
io non sono sicuro che sarai in grado di aggirare questo problema. Potresti prendere in considerazione l'utilizzo dello spinner di jQuery UI (http://tjvantoll.com/2012/07/15/native-html5-number-picker-vs-jquery-uis-spinner-which-to-use/). –
Anche questo potrebbe essere utile - http://stackoverflow.com/questions/3090369/disable-validation-of-html5-form-elements. –