Foros del Web » Programando para Internet » Javascript »

Radio que pierde su valor cuando es disabled

Estas en el tema de Radio que pierde su valor cuando es disabled en el foro de Javascript en Foros del Web. Hola amigos, Llego horas rompiéndome la cabeza con un error que no logro entender. Tengo el siguiente código: Código HTML: ... <form action= "tests/started.php?finished=1" id= ...
  #1 (permalink)  
Antiguo 07/10/2009, 10:37
 
Fecha de Ingreso: noviembre-2001
Ubicación: México DF
Mensajes: 128
Antigüedad: 22 años, 5 meses
Puntos: 0
Radio que pierde su valor cuando es disabled

Hola amigos,

Llego horas rompiéndome la cabeza con un error que no logro entender.

Tengo el siguiente código:
Código HTML:
...
<form action="tests/started.php?finished=1" id="frm" name="frm" method="post">
     <input type="radio" id="q_1_1" name="q_1" value=1 onclick="disableRadio();">
     <input type="radio" id="q_1_2" name="q_1" value=2 onclick="disableRadio();">
     ... más input aqui hasta el id= "q_1_10"...
     <input type="hidden" id="Edad" value=38>
     <input type="submit" value="Enviar">
</form> 
disableRadio()
Código HTML:
...
function disableRadio() {
     for (k=1; k<11; k++) {
          if (document.getElementById) 
               obj_radio = document.getElementById('q_1_'+k);
          else if (document.layers)
               obj_radio = document.layers['q_1_'+k];
          else 
               obj_radio = document.all['q_1_'+k];
          
          obj_radio.disabled = true; 
          //ya probé con 'disabled' y con 'true';
     }
}
Este código funciona bien, una vez que selecciono un radio se desactivan todos, pero cuando le doy click al botón enviar en el archivo started solo recibo el valor del campo 'Edad'.
Por otro lado si elimino la llamada a la función disableRadio entonces si se reciben correctamente todos los valores en PHP.
¿Qué está mal en el código, por favor?

Saludos!!!!
Silver
__________________
Nuedi Servicios SA de CV
http://www.nuedi.mx
  #2 (permalink)  
Antiguo 07/10/2009, 10:42
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: Radio que pierde su valor cuando es disabled

Los elementos deshabilitados no se envían con el formulario.
Véase: http://www.w3.org/TR/html4/interact/...html#h-17.13.2
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/10/2009, 10:46
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Radio que pierde su valor cuando es disabled

David yo si puedo enviar valores de inputs desabilitados a mi base de datos atraves de formularios.

solo que no son valores de botones de radio.
  #4 (permalink)  
Antiguo 07/10/2009, 11:04
 
Fecha de Ingreso: noviembre-2001
Ubicación: México DF
Mensajes: 128
Antigüedad: 22 años, 5 meses
Puntos: 0
Respuesta: Radio que pierde su valor cuando es disabled

Les explico mi caso a ver que me sugieren:
Estoy preparando un examen en línea, las preguntas constan de 4 opciones (input radio) de las cuales solo una es correcta.
Mi problema es que una vez la persona selecciona una opción yo las desabilito las 4 y le muestro cuál era la correcta (cambiando el background-color del radio).
Si no lo desabilito, entonces la persona puede cambiar su respuesta cuando vea la correcta... pero si lo desabilito entonces no lo puedo enviar con el formulario???

¿Cómo puedo resolver esto?
Saludos!!!!!
__________________
Nuedi Servicios SA de CV
http://www.nuedi.mx
  #5 (permalink)  
Antiguo 07/10/2009, 12:33
 
Fecha de Ingreso: noviembre-2001
Ubicación: México DF
Mensajes: 128
Antigüedad: 22 años, 5 meses
Puntos: 0
Respuesta: Radio que pierde su valor cuando es disabled

Resuelto!!

Agregué un campo oculto el cual recibe el valor del radio group antes de ponerlos disabled.

Saludos y gracias por la ayuda!!!
__________________
Nuedi Servicios SA de CV
http://www.nuedi.mx
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 19:18.