Foros del Web » Programando para Internet » Javascript »

Habilitar / deshabilitar input pasándole foco con checkbox

Estas en el tema de Habilitar / deshabilitar input pasándole foco con checkbox en el foro de Javascript en Foros del Web. Hola buenas, hice una pequeña funcion para habilitar y desabilitar un campo de texto, funciona bien pero aun que tambien funciona en IE marca un ...
  #1 (permalink)  
Antiguo 12/10/2009, 17:33
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta Habilitar / deshabilitar input pasándole foco con checkbox

Hola buenas, hice una pequeña funcion para habilitar y desabilitar un campo de texto, funciona bien pero aun que tambien funciona en IE marca un error al desactivar el campo checkbox, no afecta al funcionamiento pero se ve mal el mensaje de alerta abajo, ¿como puedo arreglar esto? y otra cosa me surgio la idea que al desactivar el checkbox tambien limpie el campo de texto que tiene relacionado, entonces.. ¿como hago estas dos cosas? supongo que metiendole un unchecked a la funcion pero no se me ocurre como seria la sintaxis.

Código html:
Ver original
  1.  
  2. function foco1(){
  3.     document.formulario.eva.focus();
  4. }
  5.  
  6. </head>
  7.  
  8. <form name="formulario">
  9. <input type="checkbox" onClick="JavaScript:document.formulario.eva.disabled = !this.checked;foco1()" />
  10. <input type="text" name="eva" disabled />
  11. </form>
  12.  
  13. </body>
  14. </html>

de antemano gracias.
  #2 (permalink)  
Antiguo 12/10/2009, 17:40
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: Habilitar / deshabilitar input pasándole foco con checkbox

  • para vaciar el texto de un textbox, simplemente tienes que asignarle un string vacio a la propiedad value, por supuesto del textbox.
  • el error en iexplorer es porque "estas intentado darle foco a un elemento que no acepta foco o que esta invisble". asi lo dice iexplorer8 pero en tu caso particular es porque el campo esta inhabilitado.
supongo que es suficiente informacion para que puedas resolverlo por ti mismo, suerte.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 12/10/2009 a las 17:49
  #3 (permalink)  
Antiguo 12/10/2009, 17:43
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Habilitar / deshabilitar input pasándole foco con checkbox

entonces siempre me va a dar ese error en ie8?
  #4 (permalink)  
Antiguo 12/10/2009, 17:51
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: Habilitar / deshabilitar input pasándole foco con checkbox

no si lo trabajas. lo que tienes que hacer es determinar si el textbox esta inhabilitado antes de ponerle foco, o tener el codigo en un try/catch para cuando suceda el error no te aparezca el mensaje.

comentario adicional. no veo la razon de porque poner al principio "JavaScript:" o "javascript:", incluso puedes poner cualquier otra cosa y seguira siendo valido. intenta poner por ejemplo tu nombre. tal cosa no tiene el mismo efecto si fuera el caso de poner el codigo en un href o la barra de direccion. en este caso estas creando un label para ser usando con break o continue. en realidad no va afectar tu codigo pero vale la pena señalarlo para evitar confusion.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 12/10/2009, 17:57
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Habilitar / deshabilitar input pasándole foco con checkbox

ok gracias
  #6 (permalink)  
Antiguo 13/10/2009, 12:06
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Habilitar / deshabilitar input pasándole foco con checkbox

Bueno volviendo al tema, aun no logro hacerlo me manda error en este codigo que hice.

Código html:
Ver original
  1.  
  2. function foco1(){
  3. var chek = document.formulario.chkbx1
  4.     if (chek.checked == true) {
  5.         document.formulario.eva.enabled
  6.         document.formulario.eva.focus();
  7.     }else{
  8.         document.formulario.eva.value="";
  9.         document.formulario.eva.disabled
  10.     }
  11. }
  12.  
  13. </head>
  14.  
  15. <form name="formulario">
  16. <input type="checkbox" nane="chkbx1" onClick="foco1()" />
  17. <input type="text" name="eva" disabled />
  18. </form>
  19.  
  20. </body>
  21. </html>

Alguien me podria echar una mano con esto?

gracias de antemano!
  #7 (permalink)  
Antiguo 13/10/2009, 12:15
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: Habilitar / deshabilitar input pasándole foco con checkbox

rayos, ahora le añadistes mas errores que antes
Código:
// te fallan las siguientes lineas y estan marcadas en bold;
<input type="checkbox" nane="chkbx1" onClick="foco1()" />

// enabled no existe;
        document.formulario.eva.enabled

// incompleto, tienes que asignarle un boolean;
        document.formulario.eva.disabled
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 13/10/2009, 12:37
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Habilitar / deshabilitar input pasándole foco con checkbox

Ok si me estaba equivocando mucho , peor gracias ya quedo bien.

Código html:
Ver original
  1.  
  2. function foco1(){
  3. var chek = document.formulario.chkbx1
  4.     if (chek.checked == true) {
  5.         document.formulario.eva.disabled = false;
  6.         document.formulario.eva.focus();
  7.     }else{
  8.         document.formulario.eva.value="";
  9.         document.formulario.eva.disabled
  10.     }
  11. }
  12.  
  13. </head>
  14.  
  15. <form name="formulario">
  16. <input type="checkbox" name="chkbx1" onClick="foco1()" />
  17. <input type="text" name="eva" disabled />
  18. </form>
  19.  
  20. </body>
  21. </html>

saludos!
  #9 (permalink)  
Antiguo 13/10/2009, 12:49
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: Habilitar / deshabilitar input pasándole foco con checkbox

aun te falta corregir la linea #12.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
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 13:30.