Foros del Web » Programando para Internet » Javascript »

Problema obteniendo el valor del botón de radio seleccionado

Estas en el tema de Problema obteniendo el valor del botón de radio seleccionado en el foro de Javascript en Foros del Web. Hola, Tengo este código Javascript : @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original function redirect ( ) {     var i     for ...
  #1 (permalink)  
Antiguo 15/08/2010, 20:32
KazerPowa
Invitado
 
Mensajes: n/a
Puntos:
Problema obteniendo el valor del botón de radio seleccionado

Hola,

Tengo este código Javascript:

Código Javascript:
Ver original
  1. function redirect(){
  2.     var i
  3.     for (i=0;i<document.form_option.option.length;i++){
  4.        if (document.form_option.option[i].checked)
  5.           break;
  6.     }
  7.     option = document.form_option.option[i].value;
  8.     location.href='index.php?o=' + option;
  9.     }

Y esto en el HTML:
Código HTML:
Ver original
  1. <form action="" id="login_form" method="post" name="form_option" accept-charset="ISO-8859-1">
  2.         <input style="margin-bottom: 5px" checked="checked" type="radio" name="option" value="1" /><a><?php echo $welcome_o0s2; ?></a> <br />
  3.         <input style="margin-bottom: 5px" type="radio" name="option" value="2" /><a><?php echo $welcome_o0s3; ?></a> <br />
  4.         <input style="margin-bottom: 5px" type="radio" name="option" value="3" /><a><?php echo $welcome_o0s4; ?></a> <br />
  5.         <input onmouseover="change_color('1', 'button')" onmouseout="change_color('0', 'button')" style="background-color: #dadada" onclick="redirect()" id="button" class="button" value="<?php echo $welcome_next; ?>" type="button" />
  6. </form>

Por algún motivo, a mí me funciona pero a algunos usuarios no :/
Debido a esto, no puedo comprobar cuándo está arreglado, así que no puedo hacer mucho...
El código se puede ver en http://tinyurl.com/389fraz
Si a alguien no le funciona el botón "siguiente", y sabe cómo solucionarlo, le agradecería que me dijera el fallo....
Saludos!
  #2 (permalink)  
Antiguo 15/08/2010, 22:41
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
Puntos: 1485
Respuesta: Problema obteniendo el valor del botón de radio seleccionado

me sorprende que a ti te funcione cuando en realidad no deberia funcionar en ningun interprete. si analizas la consola de error veras que te marca error de sintaxis en el script.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 16/08/2010, 04:18
KazerPowa
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema obteniendo el valor del botón de radio seleccionado

Cita:
Iniciado por zerokilled Ver Mensaje
me sorprende que a ti te funcione cuando en realidad no deberia funcionar en ningun interprete. si analizas la consola de error veras que te marca error de sintaxis en el script.
Supongo que será por "var i", así que lo he cambiado a "var i=0;"
De todas formas, miré la consola JavaScript en Chrome y no me marcaba nada :/

Saludos!
  #4 (permalink)  
Antiguo 16/08/2010, 04:36
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Problema obteniendo el valor del botón de radio seleccionado

Hola

Revisando la consola de errores FireBug, tienes errores en las funciones change_color y redirect. En la función change_color el primer valor que le pasas es un string, pero lo evalúas como numérico
Cita:
if (num == '1')
En la función redirect has de usar getElementsByTagName para listar todos los elementos. Prueba con esto
Código Javascript:
Ver original
  1. function redirect(){
  2. elementos = document.getElementById('login_form').getElementsByTagName('input');
  3.     for (i=1;i<elementos.length;i++){
  4.        if (elementos[i].checked)
  5. option = elementos[i].value;
  6.           break;
  7.     }
  8.    
  9.     location.href='index.php?o=' + option;
  10.     }
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 16/08/2010, 04:37
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
Puntos: 1485
Respuesta: Problema obteniendo el valor del botón de radio seleccionado

@kazerpowa,
no, ahi no es donde esta el problema. var i; es perfectamente valido. por cierto, chrome a mi me marca error. el problema esta especificamente en estas lineas ";. fijate que se abren comillas para string pero no se cierran.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 16/08/2010 a las 04:44
  #6 (permalink)  
Antiguo 16/08/2010, 11:46
KazerPowa
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema obteniendo el valor del botón de radio seleccionado

Bueno, pues he quitado mucho código que no hacía falta en la página principal, y he cambiado redirect() por lo que me puso Adler (eso sí, algo modificado).

También he puesto comillas en todos los condicionales, y ahora FireBug no da ningún error!

Código Javascript:
Ver original
  1. function redirect(){
  2.         var i = 0;
  3.         elementos = document.getElementsByName('option');
  4.         for (i=0;i<elementos.length;i++){
  5.         if (elementos[i].checked){
  6.         option = elementos[i].value;
  7.         break;
  8.         }
  9.         }
  10.         location.href='index.php?o=' + option;
  11.     }

Código Javascript:
Ver original
  1. function change_color(num, id) {
  2.         if (num == '1') {
  3.             document.getElementById(id).style.backgroundColor = "#bfbfbf";
  4.         }
  5.         if (num == '0') {
  6.             document.getElementById(id).style.backgroundColor = "#dadada";
  7.         }
  8.        
  9.     }

Gracias a todos.
Saludos!
  #7 (permalink)  
Antiguo 16/08/2010, 12:26
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Problema obteniendo el valor del botón de radio seleccionado

Hola

Esta es la parte que yo cambiaría, es mejor acotarlo lo máximo posible, nunca se sabe lo que se necesitar´´a en un futuro
Cita:
elementos = document.getElementsByName('option');
¿Has puesto un radio mas o me lo parece? Juraría que esta mañana había un checkbox y dos radios: Lo digo por que si no es así no entiendo por qu´´e le di el valor 1 a i

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 17/08/2010, 12:14
KazerPowa
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema obteniendo el valor del botón de radio seleccionado

Qué va, son 3 checkbox.
He probado la web en el ciber (para asegurarme) y funciona de maravilla, no te preocupes.

Etiquetas: radio, seleccionado
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:44.