Foros del Web » Programando para Internet » Javascript »

activar y desactivar checkbox con radiobutton

Estas en el tema de activar y desactivar checkbox con radiobutton en el foro de Javascript en Foros del Web. ayuda no veo cual es el error necesito q me deshabilite los checkbox si la respuesta del radioutton es negativa pero no lo hace Código ...
  #1 (permalink)  
Antiguo 12/02/2011, 23:27
 
Fecha de Ingreso: febrero-2011
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Exclamación activar y desactivar checkbox con radiobutton

ayuda no veo cual es el error necesito q me deshabilite los checkbox si la respuesta del radioutton es negativa pero no lo hace

Código HTML:
<script languaje="javascript">

function habilita(form)

{
form.cat_al[1].disabled = false;
form.cat_al[2].disabled = false;
form.cat_al[3].disabled = false;
form.cat_al[4].disabled = false;
}

function deshabilita(form)
{

form.cat_al[1].disabled = true;
form.cat_al[2].disabled = true;
form.cat_al[3].disabled = true;
form.cat_al[4].disabled = true;
}
</script>

<FORM name="form1" ACTION="Insert.php" METHOD="POST">
<input type="radio" name="res" value="1" checked onClick="habilita(this.form)" />     
<input type="radio" name="res" value="0" onClick="deshabilita(this.form)" />

<input type="checkbox" name="cat_al[1]" value="1"/>
<input type="checkbox" name="cat_al[2]" value="2"/>
<input type="checkbox" name="cat_al[3]" value="3"/>
<input type="checkbox" name="cat_al[4]" value="4"/>
</FORM> 
  #2 (permalink)  
Antiguo 12/02/2011, 23:48
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, 6 meses
Puntos: 1485
Respuesta: activar y desactivar checkbox con radiobutton

buenas...

lo que sucede es que el nombre de los checkboxes conflige con la sintaxis de javascript. notese que los nombres contiene corchetes los cuales en javascript se interpretan como array o propiedad. para que este conflicto no suceda, debes usar una sintaxis un tanto distinta para acceder a ese elemento. consiste en reemplazar el operador punto por un par de corchetes y dentro de este escribes el nombre de la propiedad en tipo string. notese que en ese string puede contener cualquier caracter que no es aceptable en la sintaxis de javascript.

Código:
obj['prop'] = value;
obj['property name'].prop = value;
obj['complex prop[other content]']['more prop'] = value;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 13/02/2011, 23:23
Avatar de goteen_mx  
Fecha de Ingreso: abril-2005
Ubicación: D.F.
Mensajes: 403
Antigüedad: 19 años, 7 meses
Puntos: 37
Respuesta: activar y desactivar checkbox con radiobutton

dos cosas, efectivamente los corchetes del nombre te estan afectando, y otra el this hace referencia al objeto que esta actuando en este caso son los radios.

Saludos.


Código Javascript:
Ver original
  1. <script languaje="javascript">
  2.  
  3. function habilita()
  4.  
  5. {
  6. document.getElementById("form1");
  7. form.cat_al1.disabled = false;
  8. form.cat_al2.disabled = false;
  9. form.cat_al3.disabled = false;
  10. form.cat_al4.disabled = false;
  11. }
  12.  
  13. function deshabilita()
  14. {
  15.  
  16. document.getElementById("form1");
  17. form.cat_al1.disabled = true;
  18. form.cat_al2.disabled = true;
  19. form.cat_al3.disabled = true;
  20. form.cat_al4.disabled = true;
  21. }
  22. </script>
  23.  
  24. <FORM id="form1" ACTION="Insert.php" METHOD="POST">
  25. <input type="radio" name="res" value="1" checked onClick="habilita()" />    
  26. <input type="radio" name="res" value="0" onClick="deshabilita()" />
  27.  
  28. <input type="checkbox" name="cat_a1l" value="1"/>
  29. <input type="checkbox" name="cat_al2" value="2"/>
  30. <input type="checkbox" name="cat_al3" value="3"/>
  31. <input type="checkbox" name="cat_al4" value="4"/>
  32. </FORM>

Etiquetas: checkbox, desactivar, deshabilitar, funcion, habilitar, radiobutton
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 16:59.