Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2014, 05:33
helenp
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 15 años
Puntos: 6
Opinion validación javascript

Hola,
He hecho sin ayuda mi primer script de validation gracias a ayudas de foros.
Supongo que habrá mejores de maneras de hacerlo sin poner divs en el formulario, pero me gusta como es mio y lo veo sencillo.
Solo comprueba que no esta vacio, y que solo son numeros en uno de los campos.
El formulario es muy largo por eso uso onfocus para que salté adonde esta el fallo.
Que debo de usar para que el mensaje en innerhtml y el focus se elimine cuando escriben en los campos?
quizas algo como onchange y innerhtml = ''?
Intenté poner solo una vez la clase css pero como son diferentes ids no pude.
Buento esto es el código, como lo veis? Alguna sugerencia?

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function OnSubmitBooking()
  3. {
  4.  
  5. if(document.Booking.name.value == '')
  6. {
  7. divresult = document.getElementById('namebox')
  8. divresult.className = 'validation'
  9. divresult.innerHTML = 'Please fill in name';
  10. document.Booking.name.focus();
  11. return false;
  12. }
  13. if(document.Booking.passport.value == '')
  14. {
  15. divresult = document.getElementById('passportbox')
  16. divresult.className = 'validation'
  17. divresult.innerHTML = 'Please fill in your identification';
  18. document.Booking.passport.focus();
  19. return false;
  20. }
  21. if(document.Booking.emailtrue.value == '')
  22. {
  23. divresult = document.getElementById('emailtruebox');
  24. divresult.className = 'validation'
  25. divresult.innerHTML = 'Please fill in email';
  26. document.Booking.emailtrue.focus();
  27. return false;
  28. }
  29. if(document.Booking.repeat_email.value == '')
  30. {
  31. divresult = document.getElementById('repeat_emailbox');
  32. divresult.className = 'validation'
  33. divresult.innerHTML = 'Please repeat email';
  34. document.Booking.repeat_email.focus();
  35. return false;
  36. }
  37. if(document.Booking.telmobile.value == '')
  38. {
  39. divresult = document.getElementById('telmobilebox');
  40. divresult.className = 'validation'
  41. divresult.innerHTML = 'Please fill in mobile to bring on holiday';
  42. document.Booking.telmobile.focus();
  43. return false;
  44. }
  45. if(document.Booking.emailtrue.value != document.Booking.repeat_email.value)
  46. {
  47. divresult = document.getElementById('repeat_emailbox');
  48. divresult.className = 'validation'
  49. divresult.innerHTML = 'Email and repeat email are not equal';
  50. return false;
  51. }
  52. if(document.Booking.test.value =='')
  53. {
  54. divresult = document.getElementById('resultbooking');
  55. divresult.className = 'validation'
  56. divresult.innerHTML = 'Please answer the security question';
  57. document.Booking.test.focus();
  58. return false;
  59. }
  60. if (isNaN(document.Booking.test.value))
  61. {
  62. divresult.className = 'validation'
  63. divresult.innerHTML = 'The answer is invalid, use only numbers in security question';
  64. document.Booking.test.focus();
  65. return false;
  66. }
  67.  
  68. else{
  69. divresult.style.color="blue";
  70. divresult.innerHTML = 'Please Wait...';}
  71. }
  72. </script>