Поле автообновления формы от целого до десятичного

У меня есть два поля формы для пользователей, чтобы ввести вес в кг и длину в метрах, большинство пользователей считают длину в сантиметрах, что дает неправильные вычисления. у меня может быть способ автоматического обновления формы в случае ввода целого числа? (например, 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 этого поля ввода

Другие вопросы по тегам