01/06/2004, 13:23
|
| Moderador extraterrestre | | Fecha de Ingreso: diciembre-2001 Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses Puntos: 61 | |
Ya todo arreglado. Sin ese final tan desagradable y alguna que otra mejora el código quedaría así: Código HTML: <html>
<head>
<title>Untitled</title>
<script>
responderTodas=false; //ponlo en true para obligar a que responda todas.
mensajeA="Ha respondido mayoritariamente Aes";
mensajeB="Ha respondido mayoritariamente Bes";
mensajeC="Ha respondido mayoritariamente Ces";
mensajeD="Ha respondido mayoritariamente Des";
mensajeEmpate="No se decide usted, eh?";
eMail="[email protected]";
titulo="respuesta del formulario";
comienzo="Hola! Se ha recibido una respuesta del formulario. ";
despedida="Reciba un cordial saludo de KarlanKas!"
function comprobar(){
//Inicialización de variables
var a=0;
var b=0;
var c=0;
var d=0;
var total=0;
var nombre="";
var preguntas=0;
var formulario=document.forms[0];
var ganador=false;
var restoEmail=""
//Inicio de la comprobación
for(q=0;q<formulario.length;q++){
//Si el elemento es un radio y tiene nuevo nombre (es una nueva ristra de preguntas)
if(formulario.elements[q].type=="radio" && formulario.elements[q].name!=nombre){
//Contar una pregunta más
preguntas+=1;
//Cambiar el valor de nombre anterior por el actual
nombre=formulario.elements[q].name;
}
//Si está seleccionada esta respuesta
if(formulario.elements[q].checked){
restoEmail+="La respuesta a la pregunta "+preguntas+" ha sido la "+formulario.elements[q].value+".%0D%0A";
//Sumar una a la letra en cuestión
eval(formulario.elements[q].value+"+=1");
//Sumar una al total de respuestas
total+=1;
}
}
//Si no se han contestado todas
if(responderTodas && total!=preguntas){alert("Debe responder a todas las preguntas antes de continuar");return false}
if(a>b && a>c && a>d){mensaje=mensajeA;ganador=true;}
if(b>a && b>c && b>d){mensaje=mensajeB;ganador=true;}
if(c>b && c>a && c>d){mensaje=mensajeC;ganador=true;}
if(d>b && d>a && c<d){mensaje=mensajeD;ganador=true;}
if(!ganador){mensaje=mensajeEmpate;}
alert(mensaje);
if(ganador){
formulario.action="mailto:"+eMail+" ?subject="+titulo+" &body="+comienzo+"%0D%0A"+"%0D%0A"+restoEmail+"%0D%0A%0D%0ADe lo que se desprende que...%0D%0A%0D%0A"+mensaje+"%0D%0A%0D%0A"+despedida+" &";
formulario.submit();return false}
}
</script>
</head>
<body>
<form action="" onsubmit="return comprobar()" >
1. Pregunta<br>
<input type="radio" name="pregunta1" value="a">Respuesta A<br>
<input type="radio" name="pregunta1" value="b">Respuesta B<br>
<input type="radio" name="pregunta1" value="c">Respuesta C<br>
<input type="radio" name="pregunta1" value="d">Respuesta D<br><br>
2. Pregunta<br>
<input type="radio" name="pregunta2" value="a">Respuesta A<br>
<input type="radio" name="pregunta2" value="b">Respuesta B<br>
<input type="radio" name="pregunta2" value="c">Respuesta C<br>
<input type="radio" name="pregunta2" value="d">Respuesta D<br><br>
3. Pregunta<br>
<input type="radio" name="pregunta3" value="a">Respuesta A<br>
<input type="radio" name="pregunta3" value="b">Respuesta B<br>
<input type="radio" name="pregunta3" value="c">Respuesta C<br>
<input type="radio" name="pregunta3" value="d">Respuesta D<br><br>
4. Pregunta<br>
<input type="radio" name="pregunta4" value="a">Respuesta A<br>
<input type="radio" name="pregunta4" value="b">Respuesta B<br>
<input type="radio" name="pregunta4" value="c">Respuesta C<br>
<input type="radio" name="pregunta4" value="d">Respuesta D<br><br>
<input type="submit">
</form>
</body>
</html> Espero que te sirva!
__________________ Cómo escribir
No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |