2010-09-09 14 views
273

Así que tienen una entrada de texto¿Cómo puedo hacer que una entrada de texto no sea editable?

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

Aquí es mi CSS para que

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; 

¿Hay un ajuste o un truco para esto, yo estaba pensando en hacer un sello en su lugar, pero ¿qué hay de la estilo. ¿Cómo los convierto y hay una manera mejor o es la única manera?

Respuesta

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

No es necesario peinar.

Ver <input> en MDN https://developer.mozilla.org/en/docs/Web/HTML/Element/input#Attributes

+3

o de sólo lectura = "sólo lectura" si te gusta estar todo XML-Y, véase el ejemplo de Stephan Muller continuación :) –

+1

@Algy Taylor: Sí, que estaba en la respuesta original cuando la pregunta original tenía un díscolo [ xhtml] etiqueta que volvía loco a todos sobre cuál era válido para qué estándar:/ – BoltClock

+0

¿hay alguna manera de eliminar el círculo rojo que aparece cuando pasas el cursor sobre 'textarea' con el atributo' readonly'? –

37

Puede utilizar readonly atributo, si desea que su entrada solo para ser leído. Y puede usar el atributo disabled, si desea que se muestren los datos, pero totalmente deshabilitados (incluso los lenguajes de procesamiento como PHP no podrán leerlos).

+0

php funciona en el servidor, ¿te refieres a javascript? –

+2

Cuando envía un formulario a un archivo php, no leerá entradas deshabilitadas. Puede ser lo que quiso decir. – Carlos2W

+3

lo que ocurre en la práctica es que las entradas desactivadas NO SE ENVIARON INCLUSO cuando envía un formulario, no tiene nada que ver con php, js ni nada. – vasilevich

4

añadir el atributo de sólo lectura

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

o -

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

No CSS necesita!

+19

¿Qué agrega esto a la pregunta de que mi respuesta y la respuesta de Stephan de más de 3 años antes todavía no? Incluso reflejó mi afirmación acerca de que CSS no era necesario. – BoltClock

19

sólo para completar las respuestas disponibles:

Un elemento de entrada puede ser de sólo lectura o desactivado (ninguna de ellas se puede editar, pero hay un par de diferencias: el enfoque, ...)

Buena explicación se puede encontrar aquí:
What's the difference between disabled=“disabled” and readonly=“readonly” for HTML form input fields?

Modo de empleo:

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

También hay algunas soluciones para hacerlo a través de CSS o JavaScript como se explica en here.

+4

Si va a usar '/>' para cerrar sus etiquetas, también puede expandir sus atributos a 'disabled =" disabled "' y 'readonly =" readonly "' también. – BoltClock

3

sólo tiene que añadir discapacitados al final

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

El valor no se envía si lo configura en deshabilitado. Puede ser que * usted * necesite, pero no es lo que se le preguntó. * Como nota al margen, vine aquí precisamente porque mi entrada "deshabilitada" no se comportaba como esperaba * – Balmipour

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

Se podía ver en https://www.w3schools.com/tags/att_input_readonly.asp

El método para establecer "sólo lectura":

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

a cancelar "readonly" (trabajo en jQuery):

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

element.setAttribute ("readonly", false) no funcionan –

Cuestiones relacionadas