2010-09-09 6 views
273

Так у меня есть ввод текстаКак сделать ввод текста нередактируемым?

<input type="text" value="3" class="field left"> 

Вот мой CSS для этого

background:url("images/number-bg.png") no-repeat scroll 0 0 transparent; 
border:0 none; 
color:#FFFFFF; 
height:17px; 
margin:0 13px 0 0; 
text-align:center; 
width:17px; 

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

ответ

579
<input type="text" value="3" class="field left" readonly> 

Нет необходимости в укладке.

См <input> на MDN https://developer.mozilla.org/en/docs/Web/HTML/Element/input#Attributes

+3

или только для чтения = «только для чтения», если Вам нравится быть все XML-у, смотрите пример Стефана Мюллера ниже :) –

+1

@Algy Тейлор: Да, это было в первоначальном ответе, когда первоначальный вопрос был своенравным [ xhtml], который приводил всех орехов, которые были действительны для какого стандарта:/ – BoltClock

+0

есть ли способ удалить этот красный круг, который появляется при наведении курсора на 'textarea' с атрибутом' readonly'? –

37

Вы можете использовать readonly атрибут, если вы хотите, чтобы ваш вход только для чтения. И вы можете использовать атрибут disabled, если вы хотите, чтобы ввод отображался, но полностью отключен (даже такие языки обработки, как PHP, не смогут их прочитать).

+0

php работает на стороне сервера, вы имели в виду javascript? –

+2

Когда вы отправляете форму в файл php, он не будет считывать отключенные входы. Возможно, это он и имел в виду. – Carlos2W

+3

что происходит, так это то, что отключенные входы НЕ ДАЖЕ ОТПРАВЛЕНЫ, когда вы отправляете форму, не имеет ничего общего с php, js или чем-то еще. – vasilevich

4

добавить READONLY атрибуту

<input type="text" value="3" class="field left" readonly="readonly" > 

или -

<input type="text" value="3" class="field left" readonly> 

нет CSS не требуется!

+19

Что это добавляет к вопросу о том, что мой ответ и ответ Стефана более трех лет назад еще не были? Вы даже отразили мое утверждение о том, что CSS не нужен. – BoltClock

19

Просто завершить доступные ответы:

Входной элемент может быть либо только для чтения или отключен (ни один из них не редактируется, но есть несколько отличий: фокус, ...)

Хороший объяснение можно найти здесь:
What's the difference between disabled=“disabled” and readonly=“readonly” for HTML form input fields?

Как использовать:

<input type="text" value="Example" disabled /> 
<input type="text" value="Example" readonly /> 

Есть также некоторые решения, чтобы сделать это через CSS или JavaScript, как описано here.

+4

Если вы собираетесь использовать '/>' для закрытия ваших тегов, вы можете также расширить свои атрибуты до 'disabled =" disabled "и' readonly = "readonly" 'тоже. – BoltClock

3

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

<input type="text" value="3" class="field left" disabled> 
+0

Значение не отображается, если вы отключили его. Это может быть то, что вам нужно, но это не то, что было задано. * В качестве примечания, я пришел сюда именно потому, что мой «отключенный» вход не вел себя так, как я ожидал * – Balmipour

1
<input type="text" value="3" class="field left" readonly> 

Вы могли видеть в https://www.w3schools.com/tags/att_input_readonly.asp

метод установить "только для чтения":

$("input").attr("readonly", true) 

в отменить «readonly» (работа в jQuery):

$("input").attr("readonly", false) 
+0

element.setAttribute («readonly», false) не работает –

Смежные вопросы