Я использую мобильный слайдер jquery, и у меня возникла проблема, когда значение, введенное в текстовую часть элемента управления, выходит за пределы диапазона установленных минимальных и максимальных значений. Когда элемент управления теряет фокус, он сбрасывает свое значение на минимальное или максимальное значение, в зависимости от того, какое значение ближе к недопустимому введенному значению.
У меня проблема в том, что пользователь вводит недопустимое значение, затем нажимает кнопку отправки формы и думает, что введенное им значение сохранено. Однако, поскольку ползунок сбрасывает значение до минимума или максимума, как только он теряет фокус при нажатии кнопки отправки, это значение фактически сохраняется, а не введенное пользователем значение.
Если возникнет такая ситуация, я хотел бы открыть сообщение для пользователя, чтобы он знал, что он ввел недопустимое значение. У кого-нибудь есть предложения о том, как этого добиться? Проверка значения в событии .change ползунка не годится, поскольку он возвращает новое значение сброса.
Любая помощь высоко ценится.
Пример кода, согласно запросу:
<script type="text/javascript">
$("#Answer").change(function() {
alert($("#Answer").val()); // this value is already the adjusted value, rather than the user entered value
});
</script>
<label for="Answer" class="ui-input-text"><%=question.Prompt%></label>
<br />
<span id="sliderspan">
<input style="min-width: 3em;" type="range" name="Answer" id="Answer" value="<%=this.Value%>" min="<%=question.MinimumValue %>" max="<%=question.MaximumValue %>" step="0.1" />
<span>°<%=question.Units.ToString()%></span>
</span>