Поле автообновления формы от целого до десятичного
У меня есть два поля формы для пользователей, чтобы ввести вес в кг и длину в метрах, большинство пользователей считают длину в сантиметрах, что дает неправильные вычисления. у меня может быть способ автоматического обновления формы в случае ввода целого числа? (например, 170 будет автоматически преобразовано в 1,7)?
2 ответа
Решение
Вы можете проверить, является ли значение целым числом следующим образом:
var isInt = function(n) {
return n % 1 === 0;
}
Вот сценарий JS, показывающий это в действии http://jsfiddle.net/krasimir/6e72q/
HTML
<input type="text" id="field"/>
JS
var field = document.getElementById("field");
field.addEventListener("change", function() {
var value = field.value;
if(isInt(value)) {
field.value = value = value / 100;
}
});
var isInt = function(n) {
return n % 1 === 0;
}
Вы можете проверить значение поля для "точки" с событием onchange
/\./.test(fieldValue)
если оно ложно, преобразуйте это значение в число (+, Number(), parseInt()) и разделите, а затем обновите свойство value этого поля ввода