Foros del Web » Programando para Internet » Javascript »

readonly chrome

Estas en el tema de readonly chrome en el foro de Javascript en Foros del Web. hola a todos tengo un problema con chrome estoy haciendo una validacion en la cual si el parametro es igual a cero me habilite el ...
  #1 (permalink)  
Antiguo 06/03/2012, 19:00
Avatar de saseisa  
Fecha de Ingreso: agosto-2006
Mensajes: 329
Antigüedad: 17 años, 8 meses
Puntos: 9
readonly chrome

hola a todos tengo un problema con chrome estoy haciendo una validacion en la cual si el parametro es igual a cero me habilite el input y si es distinto de cero que se quedo como solo de lectura

el problema que tengo es que con el chrome no me valida esto me deja el campo del imput como readonly=false

no se donde pueda estar el error
desde ya gracias
Código:
function cambio(y){
	if(y!=0){
		document.busca.vunitario.readOnly=true;
					
	}else{document.busca.vunitario.readOnly=false;}
}
  #2 (permalink)  
Antiguo 06/03/2012, 19:46
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Respuesta: readonly chrome

¿Probaste con...

Código:
...
document.busca.vunitario.readOnly="readonly";
...
?.
  #3 (permalink)  
Antiguo 06/03/2012, 19:56
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: readonly chrome

¡buenas!
@furoya, asignarle un string a la propiedad readOnly siempre resulta en la conversión a un boolean. esto porque readOnly siempre espera un boolean y cuando no lo es lo convierte. por tanto "readonly" es lo mismo que true. de la misma manera que el string "false" es lo mismo que true. lo mismo sucede de forma contraria, un string vacio se converte a false. lo menciono porque ocasionalmente he visto la confusión.

@saseisa. respecto al tema, probablemente el problema sea de acceso al elemento, o quizas el argumento no lo está recibiendo. revisa la consola del navegador para determinar el error.
  #4 (permalink)  
Antiguo 06/03/2012, 21:05
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Respuesta: readonly chrome

Sí, es cierto. Yo lo decía justamente porque en el valor del atributo no va un boleano, sino lisa y llanamente un "readonly='readonly'". Era posible que ese navegador tuviese problemas para interpretar el true, pero entonces seguro iba a aplicar el valor. O no, pero nada se perdía con probar.

Pero al final es tal como dices: el drama está en otro lado. Lo probé en Chrome y anda lo más bien.

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<title></title>
<script type="text/javascript">
function cambio(){
	if(document.getElementById("bravo").checked){
		document.getElementById("alfa").readOnly="readonly";
					
	}else{document.getElementById("alfa").readOnly=false;}
}
</script>

</head>
<body>
Sólo lectura: <input type=checkbox id=bravo> | 
<input type=text value="Foros del Web" id="alfa"> | 
<input type=button value="cambio" onclick=cambio()>
</body>
</html> 
Con true también. Por supuesto.
  #5 (permalink)  
Antiguo 07/03/2012, 11:42
Avatar de saseisa  
Fecha de Ingreso: agosto-2006
Mensajes: 329
Antigüedad: 17 años, 8 meses
Puntos: 9
Respuesta: readonly chrome

curioso la consola no me marca ni warning ni error
hice esto
Código:
function cambio(y){
     document.write(y);
	if(y<=0){
	          document.busca.vunitario.readOnly=true;
                          document.write("menor o igual 0 "+y)
	}
	if(y==0){
                         document.busca.vunitario.readOnly=false;
                         document.write("igual a 0" +y)}
	}
}
Código:
function cambio(y){
     document.write(y);
	if(y!=0){
	          document.busca.vunitario.readOnly=false;
                          document.write("menor o igual 0 "+y)
	}else{
                         document.busca.vunitario.readOnly=true;
                         document.write("igual a 0" +y)}
	}
}

y en los 2 casos entra a la condicional if solo me muestra el parametro que cacha lo mas curioso es que solo en chrome no lo hace
  #6 (permalink)  
Antiguo 07/03/2012, 12:02
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: readonly chrome

¿probastes el ejemplo de @furoya? aca tienes más o menos el mismo ejemplo de @furoya pero adaptado con un parámetro, tal como tu caso. de funcionar funciona... pero como no vemos todo tu código entonces no podemos darte rumbo ni dirección... algo tienes mal.

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<title></title>
<script type="text/javascript">
function cambio(n){
	if(n != 0){
		document.getElementById("alfa").readOnly="readonly";
					
	}else{document.getElementById("alfa").readOnly=false;}
}
</script>

</head>
<body>
Sólo lectura: <input type=button value="(1)" onclick=cambio(1)> | 
Escritura: <input type=button value="(0)" onclick=cambio(0)> | 
<input type=text id="alfa" value="valor">
</body>
</html>

Etiquetas: chrome, input, readonly
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:08.