Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/06/2014, 00:13
MissMonochrome
 
Fecha de Ingreso: junio-2014
Mensajes: 6
Antigüedad: 10 años, 6 meses
Puntos: 0
Exclamación Validar campos vacios en formulario con javascript una sola vez

Hola! Soy nueva tanto en el foro como en html, javascript y esas cosas. Vengo con una duda que quizas no sea nueva... Validar un formulario con javascript.
La mayoria de los ejemplos que he encontrado por internet lo que hacen es validar un campo a la vez. ¿Que quiero decir? Primero valida "nombre", si "nombre" esta vacio muestra un alert, despues de completarlo la validacion continua con el siguiente campo y repite lo mismo hasta que todos los campos esten llenos. Sin embargo lo que yo necesito es que la funcion compruebe todos los campos y arriba del formulario "liste" de alguna manera los campos vacios de una sola vez. Si bien lo hago algo rudimentario xD, los "return false" no me dejan continuar ya que el primer return false hace que el resto del codigo no se ejecute :/.
Código Javascript:
Ver original
  1. function Comprobar(formulario)
  2. {  
  3. var nombreAp=document.getElementById('nombreApellido').value;
  4. var eMail=document.getElementById('email').value;
  5. var Asunto=document.getElementById('asunto').value;
  6. var Mensaje=document.getElementById('mensaje').value;
  7. if (nombreAp.length==0)
  8. {
  9. var errorNombre=document.createElement('p');
  10. errorNombre.innerHTML= 'No escribiste tu nombre';                  
  11. document.getElementById("Comentarios").appendChild(errorNombre);
  12. return false;
  13. }
  14. if (eMail.length==0)
  15. {
  16. var erroremail=document.createElement('p');
  17. erroremail.innerHTML='No escribiste tu email';
  18. document.getElementById("Comentarios").appendChild(erroremail);
  19. return false;
  20. }
  21. if (Asunto.length==0)
  22. {
  23. var errorAsunto=document.createElement("p");
  24. errorAsunto.innerHTML='No escribiste el asunto';            document.getElementById("Comentarios").appendChild(errorAsunto);
  25. return false;
  26. }
  27. if (Mensaje.length==0)
  28. {  
  29. var errorMensaje=document.createElement("p");
  30. errorMensaje.innerHTML='No escribiste el mensaje';
  31. document.getElementById("Comentarios").appendChild(errorMensaje);  
  32. return false;
  33. }
  34. return true;
  35. }

Mi duda es....¿Como puedo hacer para que siga la ejecucion?¿Hay alguna funcion parecida a return que detenga el envio del formulario pero deje a las demas lineas ejecutarse?

Codigo del formulario
Código HTML:
<div id="Comentarios"></div>
<form action="insertarDatos.php" method="post" id="formulario" name="formulario" onsubmit="return Comprobar();">
<h1>Contacto</h1>
<table align="center">
<tr>
td>Nombre y Apellido</td>
<td><input type="text" name="nombreApellido" id="nombreApellido"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" id="email"></td>
</tr>
<tr>
<td>Asunto</td>
<td><input type="text" name="asunto" id="asunto"></td>
</tr>
<tr>
<td>Mensaje</td>
<td><textarea name="mensaje" id="mensaje"></textarea></td>
</tr>
<tr>
<td><input type="submit" value="Aceptar" id="Aceptar" name="Aceptar" onsubmit="return Comprobar();"></td>
</tr>
</table>
</form>