Foros del Web » Programando para Internet » Javascript »

Anular un área de texto después de seleccionar un option de un select

Estas en el tema de Anular un área de texto después de seleccionar un option de un select en el foro de Javascript en Foros del Web. Pues eso, me gustaría que, seleccionando una o varias opciones de un select, un área de texto se anulara (con lo de disabled), y seleccionando ...
  #1 (permalink)  
Antiguo 16/02/2005, 09:38
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 3 meses
Puntos: 6
Anular un área de texto después de seleccionar un option de un select

Pues eso, me gustaría que, seleccionando una o varias opciones de un select, un área de texto se anulara (con lo de disabled), y seleccionando otras se volviera a activar.

He probado varias cosas pero no me sale, no sé bien cómo funciona el select. En las FAQ's viene algo parecido, pero cuando lo que pulsas es una checkbox, y cuando el objeto a ser deshabilitado es un select, no un área de texto.

Aquí está:

Código:
<html> 
<head> 
</head> 
<body> 
  <form name="frm"> 
   Seleccione: 
   <select name="sel"> 
    <option value="1">Uno</option> 
    <option value="2">Dos</option> 
    <option value="3">Tres</option> 
   </select><br> 
   <input type="checkbox" name="chk" checked onclick="javascript:document.frm.sel.disabled = !this.checked">Habilitar selección 
  </form> 
</body> 
</html>
Otro código similar que viene, es para hacerlo con radio buttons (esto ya lo había conseguido hacer por mi cuenta, pero no el del select):

Código:
<html> 
<head> 
  <script language="JavaScript"> 

   function habilita(){ 
    document.frm.txt.disabled = false; 
   } 

   function deshabilita(){ 
    document.frm.txt.disabled = true; 
    document.frm.txt.value = ""; 
   } 

  </script> 
</head> 
<body> 
  <form name='frm'> 
   <b>Sexo:</b><br> 
   <input type="radio" name="rad" value="M" onclick="deshabilita()"> 
   Masculino<br> 
   <input type="radio" name="rad" value="F" onclick="deshabilita()"> 
   Femenino<br> 
   <input type="radio" name="rad" value="O" onclick="habilita()"> 
   Otro   (Indique cual: 
   <input type='text' name='txt' disabled>) 
  </form> 
</body> 
</html>

Sobre deshabilitar el área de texto no tengo problemas, es sobre lo de que el selector sea la option de un select lo que no sé cómo hacer. ¿No habría un modo rápido y sencillo de modificar dicho código para que funcione con options de select en lugar de con radiobuttons? ¿Qué evento es el que activa un option de un select (el onclick no parece que sea, y el "OnSelect" no existe)?

RESUMIENDO: Quiero que en un select de por ejemplo 5 opciones, la 1, la 2 y la 4 deshabiliten (u oculten, me daría igual) un área de texto, y la 3 y la 5 la vuelvan a activar.

Última edición por un_tio; 16/02/2005 a las 09:46
  #2 (permalink)  
Antiguo 16/02/2005, 10:23
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 19 años, 8 meses
Puntos: 0
el evento que se activa en un select es el onChange()...

en el manejador del evento deberas preguntar por el selectedIndex del select...

saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
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:09.