Foros del Web » Programando para Internet » Javascript »

Por qué no desabillita un radiobutton desde un checkbox???

Estas en el tema de Por qué no desabillita un radiobutton desde un checkbox??? en el foro de Javascript en Foros del Web. Saludos a todos: En un formulario tengo que hacer que cuando se selecciona el campo barniz que es un checkbox se deshabiliten dos radiobutton llamados ...
  #1 (permalink)  
Antiguo 15/04/2009, 11:36
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Por qué no desabillita un radiobutton desde un checkbox???

Saludos a todos:
En un formulario tengo que hacer que cuando se selecciona el campo barniz que es un checkbox se deshabiliten dos radiobutton llamados cristal.
Siguiendo sus instrucciones he hecho el script siguiente:
Cuando el campo barniz está habilitado vale cero

<SCRIPT LANGUAGE="javascript">
function deshabilitarradio(valor)
{
if(valor ="0")
{
document.getElementById('cristal').disabled = true;
}
else
{
document.getElementById('cristal').disabled = false;
}
}
</SCRIPT>

y la llamada la hago así:

<input name="barniz" type="checkbox" id="barniz" value="0" onChange="deshabilitarradio(document.getElementByI d('barniz').options[document.getElementById('barniz').selectedIndex].value)">

Saben ustedes por qué no funciona

Gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #2 (permalink)  
Antiguo 15/04/2009, 11:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Por qué no desabillita un radiobutton desde un checkbox???

Código javascript:
Ver original
  1. if(valor ="0")
Con eso estás haciendo una asignación, no una comparación, para comparar es ==

Además, la llamada a la función la puedes simplificar así:
Código javascript:
Ver original
  1. deshabilitaradio(this.value);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 15/04/2009, 12:01
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Respuesta: Por qué no desabillita un radiobutton desde un checkbox???

He realizado lo que me has comentado David pero sigue sin funcionar. Ahora lo he dejado así:
<SCRIPT LANGUAGE="javascript">
function deshabilitarradio(valor)
{
if(valor =="0")
{
document.getElementById('cristal').disabled = true;
}
else
{
document.getElementById('cristal').disabled = false;
}
}
</SCRIPT>

y llamo a la funcion asi:

<input name="barniz" type="checkbox" id="barniz" value="0" onChange="deshabilitarradio(this.value)">

Gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #4 (permalink)  
Antiguo 15/04/2009, 12:04
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Por qué no desabillita un radiobutton desde un checkbox???

¿Has comprobando que realmente tengas un elemento con id "cristal"?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 15/04/2009, 12:15
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Respuesta: Por qué no desabillita un radiobutton desde un checkbox???

El id no se llamaba cristal. Pero como digo casi funciona.

Me desabilta los radiobuttons cuando marco el checkbutton pero cuando lo desmarco deberia habilitarme los radiobuttons de nuevo y los deja inactivos

Lo he dejado así:

<SCRIPT LANGUAGE="javascript">
function deshabilitarradio(valor)
{
if(valor =="0")
{
document.getElementById('cristal').disabled = true;
document.getElementById('cristal2').disabled = true;
}
else
{
document.getElementById('cristal').disabled = false;
document.getElementById('cristal2').disabled = false;
}
}
</SCRIPT>


<input name="cristal" type="radio" id="cristal" value="1"></td>
<input name="cristal" type="radio" id="cristal2" value="0">

y la llamo así:
onChange="deshabilitarradio(this.value)

Gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #6 (permalink)  
Antiguo 15/04/2009, 12:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Por qué no desabillita un radiobutton desde un checkbox???

Es que el value del check siempre será 0, independiente de siestá seleccionado o no, lo que debes compara es si está seleccionado o no. Por ejemplo:
Código javascript:
Ver original
  1. deshabilitarradio(this.checked);
Código javascript:
Ver original
  1. function deshabilitarradio(valor) {
  2.     document.getElementById('cristal').disabled = !valor;
  3.     document.getElementById('cristal2').disabled = !valor;
  4. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 16/04/2009, 04:05
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Respuesta: Por qué no desabillita un radiobutton desde un checkbox???

Como me funcionaba al reves, lo he dejado así:

<SCRIPT LANGUAGE="javascript">
function deshabilitarradio(valor) {
document.getElementById('cristal').disabled = !valor;
document.getElementById('cristal2').disabled = !valor;
}
</SCRIPT>

y la llamada asi:

onChange="deshabilitarradio(this.disabled)"

Pero sucede lo siguiente: cuando pulso sobre el boton barniz se deshabilitan los botones cristal y cristal2. Eso está perfecto. El problema viene cuando deshabilito el boton barniz entonces los otros 2 botones en vez de volver a activarse se quedan deshabilitados.
Gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #8 (permalink)  
Antiguo 16/04/2009, 08:24
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Por qué no desabillita un radiobutton desde un checkbox???

Deja como this.checked y cambia la función por:
Código javascript:
Ver original
  1. function deshabilitarradio(valor) {
  2.     document.getElementById('cristal').disabled = valor;
  3.     document.getElementById('cristal2').disabled = valor;
  4. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 16/04/2009, 14:22
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 20 años, 10 meses
Puntos: 0
Respuesta: Por qué no desabillita un radiobutton desde un checkbox???

Me funciona en Firefox 3 pero no en iExplorer 7.
En iExplorer hace algo raro. Cuando marco el checkbox barniz no se desmarcan los 2 radiobutton sin embargo si luego pulso sobre cualquiera de los radiobutton se deshabilitan los dos.

Es decir no se actualiza su estado hasta que no pincho encima de uno de ellos
__________________

Espero haber aprendido algo de tí.
A mi padre.
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 04:49.