Javascript.RU

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

Запрет ввода "e" и знаков "+-" в type="number"
Привет, использую Alpine.js Подключаю как в доке:
<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.js" defer></script>

И, в общем то, этого достаточно для дальнейшей работы.
Вот есть такое поле ввода:
<input type="number" x-data="{}" @input="if( $event.data === 'e' ) { $el.value = $el.value.replace('\[e]\i', '') }">

Ввожу числа, но затем, если ввести символ "e", поле полностью очищается. Странно, что перед проверкой условия, значение $el.value пустое только при вводе этого символа. И очистка поэтому собственно, и производится.

И как можно было бы скомпоновать условие на чистом JS, чтобы не пропускать символ "e", а также плюс и минус? И чтобы работало без бага очистки.

Последний раз редактировалось Янковиц, 26.02.2021 в 13:19.
Ответить с цитированием
  #2 (permalink)  
Старый 26.02.2021, 14:01
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 396

Вот вариант, но он не предусматривает ситуацию вставки через ctrl+v.

<input type="number" x-data="{}" @keydown="if( ['+','-','e'].includes( $event.key ) ) $event.preventDefault()">
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет ввода текста на CAPS input Deymos Javascript под браузер 1 22.12.2015 11:41
Запрет ввода символов Beriagts jQuery 11 15.07.2014 13:40
Запрет ввода неподобающих символов sitebuilder Общие вопросы Javascript 2 05.07.2012 21:32
Горячие клавиши. Запрет ввода в input. August Общие вопросы Javascript 3 14.12.2011 19:59
Запрет ввода символа Rezet jQuery 5 28.07.2009 09:11