Programación Web y Scripting > JavaScript
Problema Funcion Radiobuttons
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
[#] Página Siguiente
Ir a la versión completa