Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/11/2012, 02:05
TAJNG
 
Fecha de Ingreso: noviembre-2010
Mensajes: 13
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Activar o no un input text con un input radio

Tu problemática se parece un poco a la que expuse yo en este hilo:
http://www.forosdelweb.com/f13/manejar-numeros-argumento-funcion-1021147/

La verdad tengo prisa, en otro momento te hubiera explicado un poco mejor, pero la idea es que al detectar cambio de estado (onChange), es decir de activado a desactivado, de seleccionado a des-seleccionado, de 1 a 0, o como lo quiera ver. El javascript debe hacer "algo" en el elemento que te interese, en este caso tu "algo" es habilitar y deshabilitar el input/select; esto se hace con la propiedad disabled que puede ser true o false.

Te dejo un ejemplo funcional de lo que requieres, la clave son los ID, es muy útil manejar así las páginas, te lo recomiendo y espero te ayude. Las claves del código son el onchange y las ID.

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
  2. "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.   <head>
  5.     <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
  6.       <title>Activa y desactiva
  7.       </title>
  8.     <script type="text/javascript">
  9.       function activainput() {
  10.         document.getElementById("js_no").disabled = true; //DESHABILITA el select (id="js_no")
  11.         document.getElementById("js_si").disabled = false; //HABILITA el input (id="js_si")
  12.       }
  13.       function activaselect() {
  14.         document.getElementById("js_no").disabled = false; //HABILITA el select
  15.         document.getElementById("js_si").disabled = true; //DESHABILITA el input
  16.       }
  17.     </script>
  18.   </head>
  19.   <body>
  20.     <div>
  21.       <form name="formulario" action="#">
  22.         <input type="radio" name="Escojer" value="Si" onchange="activainput();">Si
  23.         <input type="Text" name="SI" id="js_si">
  24.         <br><br>
  25.         <input type="radio" name="Escojer" value="No" onchange="activaselect();">No
  26.         <select name="No" id="js_no">
  27.           <option value="no">No</option>
  28.         </select>
  29.       </form>
  30.     </div>
  31.   </body>
  32. </html>

Espero haberte ayudado, un saludo.-


PD: como recomendacion no te bases en códigos solo para cambiarlos, es mejor hacerlos uno porque las necesidades de otros no siempre son las mismas que las nuestras.