Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запретить ручной ввод даты, выбор только через календарь. (https://javascript.ru/forum/misc/85958-zapretit-ruchnojj-vvod-daty-vybor-tolko-cherez-kalendar.html)

savsoft 26.06.2024 23:50

Запретить ручной ввод даты, выбор только через календарь.
 
Всем привет

Есть стандартный код типа
<input type="date" id="nxdate" name="nxdate" value="">

Можно ли запретить ввод даты руками, а оставить только возможность выбора даты из календаря?

Или, есть ли возможность отличать событие ручного вввода даты, событие change срабатывает на ввод каждой цифры и выбор даты из календаря?

Спасибо

roland 27.06.2024 04:27

savsoft, попробуйте:
nxdate.addEventListener('keydown', (e) => {
  e.preventDefault();
})
Учтите, если делать такое со встроенными элементами управления, это сломает доступность (accessibility).

savsoft 27.06.2024 17:13

Цитата:

Сообщение от roland (Сообщение 555524)
savsoft, попробуйте:
nxdate.addEventListener('keydown', (e) => {
  e.preventDefault();
})
Учтите, если делать такое со встроенными элементами управления, это сломает доступность (accessibility).

Спасибо, пока сделал аналогично, добавил
onkeydown="return false"
в input.

Вроде работает, как нужно.


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