Bueno, he hecho un codigo con checkbox, aunque me parece que con los radios cumplias la funcion, pero bueno:
Código PHP:
<form name="fr">
<input name="opcion0" type="checkbox">opcion 1<br>
<input name="opcion1" type="checkbox">opcion 2<br>
<input name="opcion2" type="checkbox">opcion 3<br>
<input name="botonSubmit" type="button" value="submit" onclick="comprobacion()">
</form>
<script language="javascript">
opciones=new Array();
opciones[0]=document.fr.opcion0;
opciones[1]=document.fr.opcion1;
opciones[2]=document.fr.opcion2;
clickEnOpcion=function() {
numero=parseInt(this.name.split("").reverse()); //saca la X de opcionX
estaChecked=opciones[numero].checked; //esto es lo que ha hecho el navegador automaticamente
for(a=0;a<opciones.length;a++) opciones[a].checked=false; //quitamos todos los check manualmente
opciones[numero].checked=estaChecked; //dejamos la opcion actual como lo que el navegador hizo
}
for(a=0;a<opciones.length;a++) opciones[a].onclick=clickEnOpcion;
function comprobacion() {
puedeSubmit=false;
for(a=0;a<opciones.length;a++) {
if(opciones[a].checked) puedeSubmit=true;
}
if(puedeSubmit) document.fr.submit();
else alert("No puedes dejar todas las opciones vacias!");
}
</script>
Cambialo a tu gusto. Un saludo!