¿Cómo puedo agregar readonly
a un <input>
específico? .attr('readonly')
no funciona.¿Cómo agregar un atributo de "solo lectura" a un <input>?
Respuesta
jQuery < 1,9
$('#inputId').attr('readonly', true);
jQuery 1.9+
$('#inputId').prop('readonly', true);
Leer más sobre difference between prop and attr
no es válido xhtml! –
¿Estás seguro? Pensé que también, pero no puedo encontrar nada en las especificaciones. valida perfectamente en validator.w3.org con xhtml 1.0 strict. –
Esta publicación debe cambiarse a .prop() en lugar de .attr(), como se indica en la API de jQuery: http://jquery.com/upgrade-guide/1.9/#attr-versus-prop- – frshca
.attr('readonly', 'readonly')
deberían hacer el truco. Su .attr('readonly')
solo devuelve el valor, no establece uno.
jQuery's attr() funciona en propiedades de JavaScript, no en atributos HTML, aunque los nombres implican lo contrario. attr ('readonly') está realmente operando en la propiedad de HTML del nivel 1 de DOM readOnly, que es un booleano, por lo que 'verdadero' es más apropiado. Sin embargo, la cadena 'readonly' también es un valor verdadero cuando se convierte automáticamente a booleano, por lo que lo anterior aún funciona. – bobince
No creo que quiera establecer el atributo en 'verdadero'. El valor '.attr' solo debe ser una cadena o un número, no un booleano, de acuerdo con los documentos jQuery: http://api.jquery.com/attr/#attr2 Además, los" atributos booleanos "HTML solo deben estar en una cadena vacía o el valor del atributo. Creo que la solución es usar '.prop()' para evitar confusiones. – Luke
creo "desactivado" excluye la entrada de ser enviado en el puesto
Sí, lo hace. Encontré este hilo mientras buscaba una alternativa a "deshabilitado" solo por este motivo. –
pero puede habilitarlo justo antes de enviarlo, y deshabilitarlo más tarde $ (documento) .on ('submit', "#myform", function (e) {// habilitar las entradas return true; // luego deshabilitarlo de nuevo si lo que necesita} funciona lo probé – Geomorillo
¿Se permiten solo los valores de entrada en html enviados en POST sin usar ocultos? –
Para habilitar solo lectura:
$("#descrip").attr("readonly","true");
Para deshabilitar sólo lectura
$("#descrip").attr("readonly","");
¿Por qué no '$ (" # descrip "). removeAttr (" readonly ");'? –
desde http : //api.jquery.com/attr/ "A partir de jQuery 1.6, el método .attr() devuelve indefinido para los atributos que no se han establecido. Para recuperar y cambiar las propiedades DOM como el estado marcado, seleccionado o deshabilitado de elementos de formulario, use el método .prop() " –
El atributo no se debe establecer en una cadena de" verdadero ". Esto puede funcionar, pero no es técnicamente correcto. (Consulte mis comentarios anteriores más arriba) – Luke
Puede desactivar el de sólo lectura mediante el uso de la .removeAttr;
$('#descrip').removeAttr('readonly');
Uso $.prop()
$("#descrip").prop("readonly",true);
$("#descrip").prop("readonly",false);
Después de leer el jQuery API para .prop, esta debería ser la respuesta aceptada. siempre hecho .attr ('readonly', 'readonly') y .removeAttr ('readonly') en el pasado, pero esto parece ser más correcto y también hace que el código sea más limpio. –
Todos deberían usar esta respuesta, como se indica aquí: http://jquery.com/upgrade-guide/1.9/#attr-versus-prop- – frshca
Una palabra de advertencia con el uso de '$ .prop()': Prop se establecerá el atributo readonly en blanco/cadena vacía, así que si tiene cualquier CSS que use el selector de atributo para '[readonly =" readonly "]', tendrá que cambiar esto a '[readonly]' (o incluir ambos) – Luke
Sólo lectura es un atributo tal como se define en html, lo que tratarlo como tal.
Debe tener algo como readonly = "readonly" en el objeto con el que está trabajando si desea que no se pueda editar. Y si quiere que se pueda editar nuevamente, no tendrá algo como readonly = '' (esto no es estándar si entendí correctamente). Realmente necesita eliminar el atributo como un todo.
Como tal, al usar jquery agregarlo y eliminarlo es lo que tiene sentido.
Conjunto algo de sólo lectura:
$("#someId").attr('readonly', 'readonly');
Retire sólo lectura:
$("#someId").removeAttr('readonly');
Ésta era la única alternativa que realmente trabajó para mí. Espero que ayude!
Utilice la propiedad setAttribute. Tenga en cuenta en el ejemplo que si selecciona 1 aplica el atributo de solo lectura en el cuadro de texto, de lo contrario elimine el atributo de solo lectura.
http://jsfiddle.net/baqxz7ym/2/
document.getElementById("box1").onchange = function(){
if(document.getElementById("box1").value == 1) {
document.getElementById("codigo").setAttribute("readonly", true);
} else {
document.getElementById("codigo").removeAttribute("readonly");
}
};
<input type="text" name="codigo" id="codigo"/>
<select id="box1">
<option value="0" >0</option>
<option value="1" >1</option>
<option value="2" >2</option>
</select>
Para jQuery versión < 1,9:
$('#inputId').attr('disabled', true);
Para la versión jQuery> = 1,9:
$('#inputId').prop('disabled', true);
- 1. Agregar un atributo a un elemento JAXB
- 2. ¿Por qué property.fget es un atributo de solo lectura?
- 3. Detectar cuando la entrada tiene un atributo 'solo lectura'
- 4. Agregar atributo de solo lectura a todos los elementos de formulario
- 5. ¿Cómo elimino un archivo de solo lectura?
- 6. Agregar atributo a un objeto en PHP
- 7. ¿Cómo hacer un archivo de "solo lectura"?
- 8. ¿Hay un método de Linq para agregar un solo elemento a un IEnumerable <T>?
- 9. Github: acceso de solo lectura a un repositorio privado
- 10. Cómo agregar un elemento a un ISet <T>?
- 11. Agregar un atributo mediante programación a un método o parámetro
- 12. Cómo agregar un atributo HTML con jQuery
- 13. ¿Cómo puede ser nulo un campo estático de solo lectura?
- 14. Cómo quitar el atributo de solo lectura de un archivo MFC
- 15. Cómo agregar un atributo mediante programación
- 16. ¿Cómo agregar un atributo al nodo Nokogiri?
- 17. Agregar un atributo usando xmllint
- 18. Obtener un NSArray de un solo atributo de un NSArray
- 19. Gradle - Agregar un solo archivo a JAR
- 20. ¿Agregar rápidamente un solo pin a MKMapView?
- 21. Dar acceso de solo lectura a un repositorio git
- 22. python, __slots__, y "el atributo es de solo lectura"
- 23. Devolver un doble puntero de solo lectura
- 24. Atributo WCF DataMember para campos de solo lectura?
- 25. ¿Existe alguna manera simple de probar si un atributo de Moose es de solo lectura?
- 26. ¿Puede impulsar el sistema de archivos para cambiar el atributo de solo lectura de un archivo?
- 27. Agregar mi propio atributo de descripción a un Pandas DataFrame
- 28. Poner un título de solo lectura en un UITextField
- 29. ¿Cómo hacer un repositorio de git de solo lectura?
- 30. ¿Agregar texto a un atributo en lugar de reemplazarlo?
.attr ('readonly', true) funciona, otro no – Qiao
.attr ('readonly', 'readonly') también funciona – Qiao
Depende de qué DOCTYPE use. Para HTML 4.01 DTD, la respuesta de CMS está funcionando y HTML 4.01 válido. Si usa una DTD XHTML, la respuesta de ceejayoz es XHTML válida y válida. – bjoernwibben