Foros del Web » Programando para Internet » Javascript »

Javascript en un formulario

Estas en el tema de Javascript en un formulario en el foro de Javascript en Foros del Web. Holas! Tengo un formulario que consiste en varias preguntas de seleccion simple (cada pregunta tiene 4 input tipo radio). Como hago un script para que ...
  #1 (permalink)  
Antiguo 27/04/2004, 22:28
 
Fecha de Ingreso: octubre-2003
Mensajes: 62
Antigüedad: 20 años, 7 meses
Puntos: 0
Javascript en un formulario

Holas!
Tengo un formulario que consiste en varias preguntas de seleccion simple (cada pregunta tiene 4 input tipo radio). Como hago un script para que se revise que se hayan respondido todas las preguntas? si no respondio todas las preguntas entonces al cliquear el boton submit aparezca una advertencia.

Gracias!
__________________
Mago de la Orden del Fénix y Director de Latin Hogwarts.
  #2 (permalink)  
Antiguo 28/04/2004, 01:02
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Prueba esto. Si no lo entiendes pregunta:


Código PHP:
<html>
<
head>
<
script>
//Chapucilla de KarlanKas

preguntas=["sobre moda","sobre coches",,"caliente"//Si quieres pon aquí de qué va cada pregunta
function comprobar(){

    
anterior="";
    
numeroPregunta=-1;
    
chequeados=-1;
    
respondido=new Array();

    for(
a=0;a<document.forms[0].elements.length;a++){
        
elemento=document.forms[0].elements[a];
        
    
//Descubrir las preguntas con radio
        
if(elemento.type=="radio"){
            
pregunta=elemento.name;
        
        
//Contador de preguntas con radio
            
if(pregunta!=anterior){numeroPregunta+=1;
                
anterior=pregunta}
        
        
//Ver si se ha contestado
            
if(elemento.checked){
                
chequeados+=1;
                
respondido[numeroPregunta]=true;
            }
        }
    }

//Recapitulación

//Si se han contestado menos que preguntas
if(chequeados!=numeroPregunta){
    
//Se empieza a generar el mensaje de alerta
    
codigo="Le ha faltado contestar a\n";
    for(
a=0;a<numeroPregunta+1;a++){
    
        
//Se comprueba si se ha contestado
        
if(!respondido[a]){
            
codigo+="\nla pregunta ";
            
//Descubrir si se ha puesto tema a la pregunta
                
if(preguntas[a]){
                    
codigo+=preguntas[a]
                }
            
//Si no se ha puesto pone el número
                
else{
                    
codigo+="nº "+(a+1);

                }
            }
        }
        
//Se termina el mensaje de la alerta
codigo+="\n\nPor favor corrijalo";

//Se muestra la alerta
alert(codigo);

//Se anula el envío
return false;}
}
</script>
    <title>Untitled</title>
</head>

<body>
<form action="ee" onsubmit="return comprobar()">
<input type="radio" name="pepe" value="1">1<br>
<input type="radio" name="pepe" value="2">2<br>
<input type="radio" name="pepe" value="3">3<br>
<input type="radio" name="pepe" value="4">4<br><br>

<input type="radio" name="pepe1" value="1">1<br>
<input type="radio" name="pepe1" value="2">2<br>
<input type="radio" name="pepe1" value="3">3<br>
<input type="radio" name="pepe1" value="4">4<br><br>

<input type="radio" name="pepe2" value="1">1<br>
<input type="radio" name="pepe2" value="2">2<br>
<input type="radio" name="pepe2" value="3">3<br>
<input type="radio" name="pepe2" value="4">4<br><br>

<input type="radio" name="pepe3" value="1">1<br>
<input type="radio" name="pepe3" value="2">2<br>
<input type="radio" name="pepe3" value="3">3<br>
<input type="radio" name="pepe3" value="4">4<br><br>

<input type="submit">


</form>


</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 28/04/2004 a las 02:20
  #3 (permalink)  
Antiguo 25/08/2004, 15:18
 
Fecha de Ingreso: octubre-2003
Mensajes: 62
Antigüedad: 20 años, 7 meses
Puntos: 0
Gracias!

Gracias!!!
Es excelente! me sirvio perfectamente!
__________________
Mago de la Orden del Fénix y Director de Latin Hogwarts.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:47.