Hola
zacktagnan.
Hoy ya estaba más por la labor de leer jejejej
He mirado tu código y he visto el problema que tienes en él y por el cual te da fallos cuando queda un sólo elemento (e imagino que si no hay ningún radio también te dará fallos cuando intente localizar los radio button).
El problema que hay es en:
Código:
while (!selecc && (x <opcion.length))
Debido a que sí funciona correctamente cuando tienes varios radio (un array), pero cuando tienes un solo radio ese .length no te va a encontrar nada debido a que no existe ningún array.
Es por ello que en el código que te puse, (aparte de comprobar que haya algun radio) compruebo que si hay un sólo elemento lo trate individualmente. En tu caso por ejemplo sería:
Código HTML:
//Caso de que no sea un array(sólo exista un radiobutton), el opcion.length
//no existirá y se le trata de manera individual
//para saber si está marcado o no
if (!(opcion.length))
{
//El que este seleccionado devuelve su valor
if (opcion.checked)
{
selecc = true;
}
}
//En caso de que haya varios radiobuttons procedemos a recorrerlos
else
{
while (!selecc && (x <opcion.length))
{
if (opcion[x].checked)
{
selecc = true;
}
x++;
}
}
Espero que te sirva si aun no habías dado con ello. Ya me dirás algo
Un saludito