извините за гиперобоснованный вопрос,
Я делаю проверку наChange - она ведет себя, как и ожидалось, до некоторой точки - и она просто позволяет вам продолжить ...
вот мой«простые» требования ... поле имеет ряд значений, которые оно примет.(т. е. 0-3, 1-5, 1-10 ...) Я вызываю функцию onChange, когда вводится какое-то значение, отличное от одного в пределах диапазона ... Я хочу оповещение, и фокус остается вэто поле (может быть, даже очистить ошибочное значение)
Код, который у меня есть - работает до того момента, когда он отправляет предупреждение - ОДНАКО после того, как вы нажмете «ОК» для предупреждения - фокус переместился на следующий элемент,и «плохие» данные ВСЕ ЕЩЕ в поле ...
Я ЗНАЮ, что есть способ обратиться к элементу, который «вызывает» функцию, но я не знаю синтаксис, но это должнолегко сфокусировать и очистить элемент ???правильно ???
код:
<form name="FRM_SCORING" id="FRM_SCORING" action="" >
<input type="text" name="AOS1" onchange="checkrange(this.value,0,1);">
<input type="text" name="AOS2" onchange="checkrange(this.value,0,3);">
</form>
<script>
function checkrange(object_value, min_value, max_value) {
//--- remove leading and trailing spaces
var trimmed_object_value = trim(object_value);
var temp_object_value = trimmed_object_value;
alert ("You've entered a value that is not allowed. \nCheck the range of numbers allowed for this 'answer'.");
//--- if less than minimum or greater than maximum, return false ---//
if ( isNaN(trimmed_object_value) ||
(trimmed_object_value < min_value) || (trimmed_object_value > max_value)
) {
alert ("You've entered a value that is not allowed.");
return false;
}
}
</script>