Есть много отсутствующих pi eces в вашем коде.
Во-первых, вы написали код полностью используя javascript и пытаетесь использовать использовать синтаксис jQuery. Итак, как бы вы ожидали, что это сработает.
jQuery to set HTML --- msg.html(value);
javascriptto set HTML --- msg.html = value;
Второй При проверке не число
Он должен выглядеть
знач1 === NaN // Это не строка Кроме того, это никогда не будет работать а NaN никогда не равен NaN
Используйте isNaN()
метод вместо
Третий
<div class="message"></div>
должен быть
<div id="message"></div>
Далее вам необходимо назначить события на свой вход. В противном случае она будет работать только при загрузке страницы в первый раз ..
input1.addEventListener('change', yearCalculator);
input2.addEventListener('change', yearCalculator);
В противном случае он будет работать только в первый раз, ваши нагрузки сценария.
Подчищены код
var input1 = document.getElementById("input-mini");
var input2 = document.getElementById("input-mini2");
var msg = document.getElementById('message');
input1.addEventListener('change', yearCalculator);
input2.addEventListener('change', yearCalculator);
function yearCalculator() {
var yearOne = input1.value;
var yearTwo = input2.value;
val1 = parseInt(yearOne);
val2 = parseInt(yearTwo);
if (isNaN(val1) || isNaN(val2)) {
msg.innerHTML = "Please enter a valid year !!";
return;
}
var value1 = yearOne - yearTwo + 18;
if (yearOne == yearTwo) {
msg.innerHTML = "Both years are the same";
}
if (yearOne < yearTwo) {
if (yearTwo < value1) {
msg.innerHTML = "This is a good result";
} else if (yearTwo > value1) {
msg.innerHTML = "This is a bad result";
} else {
msg.innerHTML = "This is neither good or bad";
}
}
else {
msg.innerHTML ="Year 1 is greater than Year 2";
}
};
yearCalculator();
Check Fiddle
Вы можете использовать ** setInterval() ** функция –