HTML JS запретить ввод текста в INPUT

194
11 ноября 2018, 01:20

Есть input type text в который при определенных условиях нужно запретить ввод текста.

Я знаю о существовании атрибута disabled но хотел бы узнать есть ли прямая альтернатива по аналогии к примеру с ссылкой: a href="/" onclick="return false;" то есть мы не добавляем ссылке никаких атрибутов или свойств, просто при клике "пропускаем переход".

Возможно ли сделать такое же в input? Чтобы он так же оставался enabled с мигающим индикатором, но при вводе текста чтобы просто ничего не происходило и значение не вписывалось.

Answer 1

Можно повесить обработчик событий, который будет "удалять" нативный функционал

const input = document.getElementById('input'); 
input.oninput = e => { 
  e.target.value = ''; // не важно, что ввели, значение всегда пустое будет 
}
<input id='input' >

Answer 2

Данный код выполняет вашу задачу, но только при вводе с клавиатуры.

function SupressInput($event) 
{ 
  $event.preventDefault(); 
}
<input type=text onKeyPress=SupressInput(event);>

Answer 3

Правильным решением будет использовать атрибут readonly, а не disabled и не скрипты:

<input value="2121" readonly>

READ ALSO
Json массив в HTML таблицу

Json массив в HTML таблицу

Есть json фаил с данными на 8000 строкЕго данные нужно перенести в HTML таблицу

196
Не работают CSS стили в Django

Не работают CSS стили в Django

Только начал изучать Django и столкнулся с проблемой: не применяются стили CSS ни на одной из страниц (homehtml и about

268
Обновление кэша [закрыт]

Обновление кэша [закрыт]

Как заставить браузер обновить кэш сайта у всех пользователей сайта и не использовать кэш созданный до сегодняшнего дня?

165
Правильное испоьлзоване jQuery Object

Правильное испоьлзоване jQuery Object

Есть 3 объекта $('ground') и 3 объекта $('

178