Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/05/2012, 06:30
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

No se si no te he entendido bien, o no lo estoy haciendo bien, porque la verdad es que no me he aclarado bastante con tu respuesta.

Si no he entendido mal, me comentas que tengo que meter mis otras funciones de validación dentro de una general, la cual termine con un document.formulario.submit(); no?

he echo esto:

Código HTML:
Ver original
  1. <form class="formEncuesta" name="formulario" method="post" action="javascript:validar();">
  2.     <fieldset>
  3.         <legend> * Cuestionario * </legend>
  4.             <ul>
  5.             <li>
  6.                 » 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>
  7.             </li>
  8.             <li>
  9.                 » 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/> *
  10.             </li>
  11.             <li>
  12.                 » 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/> *
  13.             </li>
  14.             <li>
  15.                 » 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>
  16.             </li>
  17.             <li>
  18.             <table>
  19.                 <tr>
  20.                     <td width="400px">» Evidencias a Favor:</td>
  21.                     <td width="400px">» Evidencias en Contra: </td>
  22.                 </tr>
  23.                 <tr>
  24.                     <td width="400px"><textarea name="vp1" id="vp1" placeholder="Evidencias a favor" cols="40" rows="10"></textarea></td>
  25.                     <td width="400px"><textarea name="vn1" id="vn1" placeholder="Evidencias en contra" cols="40" rows="10"></textarea></td>
  26.                 </tr>
  27.             </table>
  28.             </li><br>
  29.             <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>
  30.             <br><br>
  31.     </fieldset>
  32.     <br>
  33.     <input type="submit" value="Enviar" onclick="this.form.action = 'registrar.php'" >  <input type="reset" value="Limpiar">
  34.     </form>


Código Javascript:
Ver original
  1. function validar(){
  2.  
  3. //  Validacion Numérica
  4.  
  5. function validarEntero(input){
  6. return !isNaN(input)&&parseInt(input)==input;
  7. }
  8.  
  9.  
  10. //Campos valoración
  11.  
  12. function validar(campo){
  13. var valoracion = document.getElementById(campo);  
  14. if((!validarEntero(valoracion.value))||(valoracion.value == "")||(valoracion.value <= 0)||(valoracion.value > 100)){
  15. valoracion.value = "";
  16. valoracion.focus();
  17. return 0;
  18. }
  19. }
  20.  
  21.  
  22. //Campo pregunta
  23.  
  24. function verificar(campo){
  25. var pregunta = document.getElementById(campo);
  26. if((!validarEntero(pregunta.value))||(pregunta.value == "")||(pregunta.value < 1)||(pregunta.value > 90)){
  27. pregunta.value = "";
  28. pregunta.focus();
  29. return 0;
  30. }
  31.  
  32. }
  33. document.formulario.submit();
  34. }


El caso es que no funciona, como no entendí bien y no funcionan las primeras pruebas, voy a seguir mirando por ahí a ver si encuentro algo...

pero no estaría de más si me encaminas un poco más explicandome mejor..


voy a seguir investigando, Un saludo y gracias compañero.


PD: he hecho más pruebas, como por ejemplo document.formulario.submit(registrar.php); y quitar el onclick="" del boton, pero tampoco.. me marca error en la página.
__________________
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? :)