Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/05/2012, 12:34
Avatar de oNefl0w189
oNefl0w189
 
Fecha de Ingreso: abril-2010
Ubicación: Valladolid
Mensajes: 117
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Formulario siempre envia

Tenia la idea, pero no sabia como llevarla a cabo del todo, pues lo que postee ahí arriba era un intento de la solución que tu me diste alexg88.

He echado un vistazo a la página que me pasaste, esta muy bien, lo explica bien.. aunque quizás de manera muy simple, debería tener algun ejemplo mas complejillo para pillarle bien el truco jejeje, pero me ha aclarado muchas cosas la verdad!

así me ha quedado al final:

formulario
Código HTML:
Ver original
  1. <form class="formEncuesta" name="formulario" method="post" onsubmit="return comprobar();" action="registrar.php">
  2.         <legend> * Cuestionario * </legend>
  3.             <ul>
  4.             <li>
  5.                 » Numero de Pregunta: <input type="number" size="50" min="1" max="90" name="pregunta" id="pregunta" placeholder="Introduce el número de la pregunta" onChange="verificar(this.id);" required/> * <br> <br>
  6.             </li>
  7.             <li>
  8.                 » Nota del Evaluador 1: <input type="number" size="50" min="0" max="100" name="evaluador1" id="evaluador1" placeholder ="Introduce Calificación Evaluador 1" onChange="validar(this.id);" required/> *
  9.             </li>
  10.             <li>
  11.                 » Nota del Evaluador 2: <input type="number" size="50" min="0" max="100" name="evaluador2" id="evaluador2" placeholder ="Introduce Calificación Evaluador 2" onChange="validar(this.id);" required/> *
  12.             </li>
  13.             <li>
  14.                 » Nota del Evaluador 3: <input type="number" size="50" min="0" max="100" name="evaluador3" id="evaluador3" placeholder ="Introduce Calificación Evaluador 3" onChange="validar(this.id);" required/> *<br><br>
  15.             </li>
  16.             <li>
  17.             <table>
  18.                 <tr>
  19.                     <td width="400px">» Evidencias a Favor:</td>
  20.                     <td width="400px">» Evidencias en Contra: </td>
  21.                 </tr>
  22.                 <tr>
  23.                     <td width="400px"><textarea name="vp1" id="vp1" placeholder="Evidencias a favor" cols="40" rows="10"></textarea></td>
  24.                     <td width="400px"><textarea name="vn1" id="vn1" placeholder="Evidencias en contra" cols="40" rows="10"></textarea></td>
  25.                 </tr>
  26.             </table>
  27.             </li><br>
  28.             <li><i>* Solo podrás contestar las preguntas que no hayan sido contestadas. Consulta cual han sido contestadas <a href="contestadas.php" target="blank">AQUÍ</a>.</i></li>
  29.             <br><br>
  30.     </fieldset>
  31.     <br>
  32.     <input type="submit" value="Enviar">  <input type="reset" value="Limpiar">
  33.     </form>

validador:
Código Javascript:
Ver original
  1. //  Validacion Numérica
  2.  
  3. function validarEntero(input){
  4. return !isNaN(input)&&parseInt(input)==input;
  5. }
  6.  
  7.  
  8. //Campos valoración
  9.  
  10. function validar(campo){
  11. var valoracion = document.getElementById(campo);  
  12. if((!validarEntero(valoracion.value))||(valoracion.value == "")||(valoracion.value <= 0)||(valoracion.value > 100)){
  13. valoracion.value = "";
  14. valoracion.focus();
  15. return false;
  16.     }
  17.     else{
  18.     return true;
  19.     }
  20. }
  21.  
  22.  
  23. //Campo pregunta
  24.  
  25. function verificar(campo){
  26. var pregunta = document.getElementById(campo);
  27. if((!validarEntero(pregunta.value))||(pregunta.value == "")||(pregunta.value < 1)||(pregunta.value > 90)){
  28. pregunta.value = "";
  29. pregunta.focus();
  30. return false;
  31.     }
  32.     else{
  33.     return true;
  34.     }
  35. }
  36.  
  37. // Validación true o false (enviar o no).
  38. function comprobar(){
  39. return verificar('pregunta') && validar('evaluador1') && validar('evaluador2') && validar('evaluador3');
  40. }


Le hice algunos pequeños cambios y le añadí alguna cosilla que le faltaba para dejarle a mi gusto, pero esta prácticamente igual.


Muchísimas gracias a todos por esforzaros en que comprendiese el funcionamiento, he aprendido bastante. :P


Un saludo.


PD: mucho karma os merecéis! jeje
__________________
Nunca dijeron que la vida sería fácil, sólo prometieron que valdría la pena vivirla.

Dar las gracias y añadir Karma, no cuesta nada, ¿Que menos si te ayudan? :)