Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.10.2022, 20:11
Профессор
Отправить личное сообщение для ufaclub Посмотреть профиль Найти все сообщения от ufaclub
 
Регистрация: 27.11.2010
Сообщений: 202

не удаляется введеное значение input при нажатии backspace проблема с маской?
<input value="1" name="length" class="input-lengtharray form-control" type="text" data-min="1" data-max="12" placeholder="от 1 до 12">




$('body').on('input', '.input-lengtharray', function(){

	var value = this.value.replace(/[^0-9\.]/g, '');
	

	if (value < $(this).data('min')) {

		this.value = $(this).data('min');

	} else if (value > $(this).data('max')) {

		this.value = $(this).data('max');

	} else {

		this.value = value;

	}
	

});


вот такой код, разрешает вводить только от 1 и до 12.

по умолчанию стоит value="1" в html

так вот странное поведение при вводе 1 - не получается удалить можно только курсором выделить эту 1 и тогда на ее место записать другое число от 1 до 12 с символом точка. Как будто вот этот код


var value = this.value.replace(/[^0-9\.]/g, '');


не разрешает нажатие кнопки backspace
Ответить с цитированием
  #2 (permalink)  
Старый 26.10.2022, 20:27
Профессор
Отправить личное сообщение для ufaclub Посмотреть профиль Найти все сообщения от ufaclub
 
Регистрация: 27.11.2010
Сообщений: 202

хотя тут срабатывает строка

this.value = $(this).data('min');


получается что когда 1 удаляю то сразу она возвращается.

если эту строку закомментировать тогда удаляется 1

но можно ввести 0.5 например.

а как не допустить ввода меньше 1 но при этом можно было бы удалять это число перед вводом.
Ответить с цитированием
  #3 (permalink)  
Старый 26.10.2022, 20:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от ufaclub
.on('input',
change
Ответить с цитированием
  #4 (permalink)  
Старый 26.10.2022, 20:56
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Используй https://github.com/RobinHerbots/Inputmask .
Всё остальное - полумеры и вечные неудобства.
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 26.10.2022, 21:23
Профессор
Отправить личное сообщение для ufaclub Посмотреть профиль Найти все сообщения от ufaclub
 
Регистрация: 27.11.2010
Сообщений: 202

Сообщение от рони Посмотреть сообщение
change

спасибо, так просто оказалось. я уже тут час всякие условия и проверки пишу с задержками.... вообще не туда понесло.
Ответить с цитированием
  #6 (permalink)  
Старый 27.10.2022, 10:24
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Я вообще не понимаю, как это работает.
Как там можно ввести числа от 2 до 9. Они же сразу на 12 заменятся.
Там же же сравниваются строки.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при получении данных из input Striker_ Events/DOM/Window 9 09.08.2012 00:32
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Проблема при воспроизведении аудио при использовании jplayer nemish Events/DOM/Window 0 01.12.2011 16:15
проблема с событиями при работе с Ext.extend slavik27 ExtJS 1 04.09.2011 13:05
Проблема при подстановке значений royksopp Общие вопросы Javascript 1 11.07.2010 18:20