Bueno, las modificaciones que hice fueron hechas directamente aquí y no me percaté que la propiedad
checked estaba mal escrita
if (formulario.opcion2[i].c
kecked == true) {
y así se ha quedado a lo largo del tema.
Por otro lado la función verifica los campos de nombre opcion2 pero estás verificando un formulario en donde los campos se llaman opcion4. Obviamente no encuentra el campo que le indicas.
Si cada form va a tener los radio con nombres distintos hay que enviar el dato y hacer algunos cambios a la forma de referenciar esos campos.
Te dejo un ejemplo que sí funciona
Código:
<script type="text/javascript" language="javascript">
function validar(formulario, num) {
for(j=0;j<formulario.elements['opcion' + num].length;j++)
{
if (formulario.elements['opcion' + num][j].checked == true) {
return true;
}
}
alert('Debes escoger una opción')
return false;
}
</script>
Código:
<form name="form" method="post" action="pon la accion aqui" onsubmit="return validar(this,4)">
<input name="opcion4" value="A" type="radio">
Alonso <br />
<input name="opcion4" value="B" type="radio">
Raikkonen<br />
<input name="opcion4" value="C" type="radio">
Fisichella<br />
<input name="opcion4" value="D" type="radio"> Button<br><input name="opcion4" value="E" type="radio">
Massa
<input type="submit" name="Submit" value="Enviar" />
</form>
un saludo