supongo que ya se a que viene la pregunta. tu esperas que al no selecionar algun radio, el switch vaya al caso predeterminado, o sea, default. tiene sentido y logica pero aun asi no funciona. la razon, al no haber un radio seleccionado la variable de iteracion (
index) del bucle
for termina apuntando a un indice que no existe en la coleccion.
aplicado a tu caso, cuando no hay radio seleccionado,
index contiene el valor cinco (5), de modo que
form2.se[5] devuelve
undefined porque no existe dicha posicion. recuerda, los indices de los arrays, al igual que las colecciones de elementos, comienzan desde cero (0) siendo este el primer elemento. al
form2.se[5] equivaler
undefined,
form2.se[5].value genera error porque no existe la propiedad
value en
undefined, e interrumpe la ejecuccion del script.
para corregirlo, tienes que verificar si dicho indice existe. si no existe significa que no se ha seleccionado un radio, y aqui entonces lanzas el mensaje de
default.
Código:
// esto va entre el bucle for y switch;
if(!form2.se[index]){
alert("seleccione algo");
return false;
}