Hola, tengo un formulario con 47 preguntas. Cada pregunta tiene cinco radio buttons (bueno, casi todas, algunas tienen solo dos) y antes de enviar el formulario a la siguiente página quiero comprobar que se ha pulsado alguno de cada pregunta. He encontrado un código de Karlankas que en principio me serviría pero necesito modificar dos cosas: por un lado, hay algunos radiobutton que están deshabilitados y solo se habilitan en función de las respuestas previas. Con el código de Karlankas los deshabilitados también se comprueban y siempre me pide que los rellene, cosa imposible al estar deshabilitado. Y por el otro lado me gustaría que en el mensaje de alerta se mostrase el número de pregunta que falta por rellenar. Os dejo primero el código original de Karlankas y después las modificaciones que he probado, pero que no me han funcionado :S
Código original de Karlankas:
http://www.forosdelweb.com/f13/valid...9/#post1066329
Código Javascript
:
Ver original<script>
var MensajeDeError="Haga el favor de rellenar todo!"
function pepote(f){
marcado=false;
var nombre;
for(a=0;a<f.elements.length;a++){
if(f[a].type=="radio"){
if(nombre!=f[a].name){
nombre=f[a].name;
for(aa=0;f[a+aa].name==f[a].name;aa++){
if(f[a+aa].checked){marcado=true};
}
if(marcado==false){alert(MensajeDeError);return false;}
}
marcado=false;
}
}
}
</script>
Este es el mio, he intentado que comprobase si estaba deshabilitado, pero ha pasado de mi:
Código Javascript
:
Ver original<script language="javascript">
var MensajeDeError="Haga el favor de rellenar todo!"
function pepote(f){
marcado=false;
var nombre;
for(a=0;a<f.elements.length;a++){
if(f[a].type=="radio" && f[a].disabled!= "true"){
if(nombre!=f[a].name){
nombre=f[a].name;
for(aa=0;f[a+aa].name==f[a].name;aa++){
if(f[a+aa].checked){marcado=true};
}
if(marcado==false){alert(MensajeDeError);return false;}
}
marcado=false;
}
}
}
</script>
Y en este último he intentado mostrar también los números de las preguntas usando el contador del script y sumándole uno, pero con esto solo he conseguido que a medida que iba marcando respuestas, el mensaje era cada vez más largo y sin sentido :S
Código Javascript
:
Ver original<script language="javascript">
var MensajeDeError="Haga el favor de rellenar la pregunta "
function pepote(f){
marcado=false;
var nombre;
for(a=0;a<f.elements.length;a++){
if(f[a].type=="radio" && f[a].disabled!= "true"){
if(nombre!=f[a].name){
nombre=f[a].name;
for(aa=0;f[a+aa].name==f[a].name;aa++){
if(f[a+aa].checked){
{marcado=true};
}else{
MensajeDeError = MensajeDeError + (a+1) + ", "
}
}
if(marcado==false){alert(MensajeDeError);return false;}
}
marcado=false;
}
}
}
</script>