Ver Mensaje Individual
  #10 (permalink)  
Antiguo 03/03/2007, 11:22
makeitslow
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 18 años, 1 mes
Puntos: 2
Re: Radio Button - Bloquear Textfield?

Este tema tal vez ya esta un poco pasado y nadie lo ve pero por si acaso les dejo mi solucion:

Si tenemos por ejemplo 2 radiobuttons con su respectivo textfield (O sea dos radio butons cada uno con su input para escribir algo) y deseamos habilitar ese textfield al hacer click en el radiobutton correspondiente y que al mismo tiempo se deshabilite el segundo textfield (poniendose el contenido en blanco) podemos hacer esto:

Código HTML:
 <script language="JavaScript"> 

function habilita1(){ 
    document.NOMBREFORMULARIO.NOMBREINPUT1.disabled = false; 
   } 

function deshabilita1(){ 
    document.NOMBREFORMULARIO.NOMBREINPUT1.disabled = true; 
    document.NOMBREFORMULARIO.NOMBREINPUT1.value = ""; 
	}
	
function habilita2(){ 
    document.NOMBREFORMULARIO.NOMBREINPUT2.disabled = false; 
   } 
   
function deshabilita2(){ 
    document.NOMBREFORMULARIO.NOMBREINPUT2.disabled = true; 
    document.NOMBREFORMULARIO.NOMBREINPUT2.value = ""; 
   } 

  </script> 
Donde NOMBREINPUT1 es el nombre del primer textfield y NOMBREDELINPUT2 es el nombre del segundo textfield. OJO que ambos textfields tienen que estar en un solo formulario (NOMBREFORMULARIO) Quien podria hacer combos en formularios disitintos?? JAJAJAJA Solo yo a un principio....

Luego los radiobuttons, deben tener la siguiente estructura:

Código PHP:
<input type="radio" name="NOMBRERADIO" value="VALOR1"
onclick="habilita1() || deshabilita2()">

<
input type="radio" name="NOMBRERADIO" value="VALOR2" 
onclick="habilita2() || deshabilita1()"
y los INPUTS o textfields deber ser asi inhabilitados inicialmente:

Código PHP:
<input type="text" name="NOMBREINPUT1" disabled>
<
input type="text" name="NOMBREINPUT2" disabled
Y listo, ahora si queremos mas input o textfields en nuestro combo, pues solo creamos mas combinaciones de funciones de HABILITAR y DESHABILITAR en el script del principio.

Claro que podemos hacerlo mas eficiente utilizando estructuras de control como el WHILE o el CASE.. pero veamos si alguien necesita algo mas grande.