2013-11-07 6 views
1

У меня есть текстовое поле, где мне нужно, чтобы пользователь не мог вручную вводить что-либо в него. Я написал обработчик keypress событий в следующим образом:Key Press Event не останавливает backspace

funcion Keypress(Event e) { 
    e.preventDefault(); 
} 

Используя приведенный выше код, я был в состоянии запретить пользователю не вводить какие-либо вещи. Значение в текстовом поле будет заполнено каким-либо другим событием (выпадающее изменение).

После того, как значение заполнено в текстовом поле, если я использую backspace, он все еще работает и удаляет данные в текстовом поле.

Может ли кто-нибудь предложить мне ограничить любое нажатие на текстовое поле.

ответ

6

Для этого нельзя использовать атрибут readonly, не требуется JS.

<input type="text" name="foo" readonly="true" /> 

Это все еще позволяет вам установить значение программно с помощью javascript.

Example fiddle

+2

большой палец вверх, для простого, как кражи палочке от ребенка ... – Smartis

+0

Отличного ответа. Можете ли вы представить какие-либо сведения о том, почему его исходный код не работает? Это может обеспечить понимание для тех, кто имеет одинаковую проблему, но кто, возможно, не обязательно должен препятствовать вводу _ALL_. –

+0

@ Rory..Thanks..Its working .. –