Programación Web y Scripting > JavaScript

 Problema Funcion Radiobuttons

(1/2) > >>

zaida20:
Hola a todos:

Tengo tres radiobuttons


--- Código: Text ---<input type="radio" name="radio" value="3" ><input type="radio" name="radio" value="4" ><input type="radio" name="radio" value="5" > 
Dependiendo del que elija quiero que vaya a una página o a otra, utilizo el siguiente código:



--- Código: Text ---function validar(){  if(document.getElementById('radio').value=='')  {    document.getElementById('error').innerHTML="Debe elegir un diseño para su blog";  }  else  {      if(document.getElementById('radio').value==3)    {      document.location.href="plantilla_gral.php";    }    if(document.getElementById('radio').value==4)    {      document.location.href="plantilla_gral2.php";    }    if(document.getElementById('radio').value==5)    {      document.location.href="plantilla_gral3.php";    }   }} 

En el botón tengo onclick="validar()"

El problema es que marque el radio que marque o no marque ninguno siempre va a plantill_grl.php ¿Alguien puede decirme que tengo mal?

Gracias y saludos  :hola:

Mollense:
¿Podrías poner el código del botón?¿De qué tipo es este?

Avalon:
Hola. Para saber qué elemento está seleccionado tienes que recorrerlos todos.


--- Código: Text ---function validar(){  var miradio = document.all.radio;  var seleccion = false;  for (i=0; i < miradio.length; i++) {    if (miradio[i].checked) {      switch (miradio[i].value) {        case '3':          document.location.href="plantilla_gral.php";          break;        case '4':          document.location.href="plantilla_gral2.php";          break;        case '5':          document.location.href="plantilla_gral3.php";          break;      }      seleccion = true;      break;    }  }  if (!seleccion)    document.getElementById('error').innerHTML="Debe elegir un diseño para su blog";}  
Espero te sirva.

Salu2,
Avalon

zaida20:
Gracias Avalon

Me sirvió!!!!

Saludos  :hola:

ing_marco:
Solo hacer una acotacion mas.

--- Citar ---var miradio = document.all.radio;

--- Fin de la cita ---

Esta intruccion esta muy bien, solo si son los unicos radiobuton en el documento, pero si quieres ser mas especifico deberias hacerlo de esta forma:

En el name de todos tus radiobuton ponerles un nombre como 'rbtnTipo', luego

--- Citar ---var miradio = document.getElementByName('rbtnTipo');

--- Fin de la cita ---
esta linea deberia reemplazar a la anterior y el resto debe ser de la misma forma.
Saludos.
Solo para dejar claro que el codigo anterior esta muy bien trabajado, eso solo es un adicional.

Atte
Marco Diaz.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa