Небольшая проблема с вашим вопросом заключается в том, что тип ввода - text
, а не number
.Вы можете изменить тип ввода, выполнив <input type=number id="my-input">
.Если вы хотите сохранить тип, вам нужно проверить, является ли ввод числом.
В любом случае вам придется конвертировать значение ввода из строки в число, поскольку числовые операции, использующие строки, чаще всего ошибочны.времени (есть редкие конкретные случаи, когда результат один и тот же).Единственная разница между использованием текста и числа заключается в необходимости проверки правильности значения ввода, что можно сделать с помощью isNaN
после преобразования.Я обычно предпочитаю заставлять JavaScript преобразовывать текст, используя - 0
вместо parseInt
или parseFloat
, так как он более краткий и не преобразует "123test"
в 123
.
Вот решение, работающее с номером
document.getElementById("my-button").addEventListener("click", function() {
if (document.getElementById("my-input").value - 0 <= 5) {
alert("You got it!")
} else {
alert("Opps, wrong number. Please try again.")
}
});
<input type="number" id="my-input">
<button id="my-button">Submit</button>
Вот решение, работающее с текстом
document.getElementById("my-button").addEventListener("click", function() {
var value = document.getElementById("my-input").value - 0;
if (isNaN(value)) {
alert("Not a number");
} else if (value <= 5) {
alert("You got it!")
} else {
alert("Opps, wrong number. Please try again.")
}
});
<input type="text" id="my-input">
<button id="my-button">Submit</button>