У меня есть одно поле ввода, где пользователь может вводить только число от 2 до 50. Все выше или ниже недействительно. Он также должен быть числовым значением.Номер подтверждения jQuery
То, что я до сих пор это:
$('#searchTimes').click(function() {
if($('#replyNumber').val()<=0) {
alert("Please select a value greater than 0 for number of guests");
$('#replyNumber').focus();
return;
}
if($('#replyNumber').val()>=51) {
alert("Please select a value less than or equal to 50 for number of guests");
$('#replyNumber').focus();
return;
}
if(isNaN($('#replyNumber').val())) {
alert("Please enter a numeric value only");
$('#replyNumber').focus();
return;
}
});
Есть лучше и более эффективный способ написания, что ^.
Также ... ЕСЛИ все эти операторы IF неверны, тогда мне нужно выполнить другую функцию. Как я могу добавить это?
Ваше последнее условие не будет выполнено, так как 'Валу()' всегда возвращает строку, никогда NaN. Вероятно, вы хотите «parseInt» ($ ('# replyNumber'). Val(), 10) 'перед проверкой значения. Если этот код работает так, как есть, этот вопрос может быть лучше задан на [codereview.se], но сначала проверьте его справочный центр. –
Прежде всего, возьмите значение один раз, попробуйте проанализировать его на int и сохранить в переменной - нет необходимости вызывать метод .val() в каждом операторе if. Затем, чтобы блок кода выполнялся, если все остальные условия являются ложными, вы должны сделать цепочку ... else вместо трех раздельных if и поставить в конце простое другое, которое будет выполняться только в том случае, если все остальные условия не встретил. – Fiodor