Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ограничить значение в поле input (https://javascript.ru/forum/misc/69666-ogranichit-znachenie-v-pole-input.html)

Огонек 10.07.2017 22:39

Ограничить значение в поле input
 
Здравствуйте.
Есть 2 поля input sum_all и sum_no.
Необходимо не дать пользователю в sum_all внести значение меньше чем находится в sum_no. Вариант проверки при submit не подходит, потому что до submit-a происходит много манипуляций с этим введенным значением.
Безуспешно пытаюсь не дать покинуть этот input через onblur:
function validateNonEmpty(inputField) {
	if (parseFloat($('#summa_all').val()) < parseFloat($('#summa_no').val())) {
		jAlert('Слишком мало!');
		return false;
	} else {
		return true;
	}	
}

а в input-e стоит
<input type="text" id="summa_all"  onblur="validateNonEmpty(this)"/>

Сообщение выводится, но фокус переходит на другие объекты.
Эта конструкция так и должна только предупреждать и пропускать дальше?
Можно ли как-то все-таки не только предупредить, но и не допустить?

j0hnik 10.07.2017 22:53

<html>
<head>
</head>
<input id="id1" type="number">
<input id="id2" type="number">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script>
$("#id1").on("blur input", function(){ 
if($(this).val() < 100) $(this).focus();
});
	</script>
</body>
</html>

Не уберете фокус пока значение меньше 100.

Огонек 10.07.2017 22:56

Цитата:

Сообщение от j0hnik
Не уберете фокус пока значение меньше 100.

Чуть-чуть не успел написать, что сам допер, поставил после алерта
$('#summa_all').focus();

Но все равно спасибо!


Часовой пояс GMT +3, время: 12:50.