Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/05/2010, 12:29
noctam
 
Fecha de Ingreso: marzo-2008
Mensajes: 26
Antigüedad: 16 años, 2 meses
Puntos: 0
formulario de consulta con validacion en Javascript

Estoy tratando de crear un formulario que sea lo mas semantico posible y validar sus campos a traves de Javascript. Para ello estoy intentando utilizar manejadores de eventos semanticos tal y como explican en [URL="http://www.librosweb.es/javascript/capitulo6/modelo_basico_de_eventos1.html"]www.librosweb.es (Introduccion a Javascript - 6.2.2.4. Manejadores de eventos semánticos)[/URL] pero no consigo hacerlo funcionar.

En lugar de analizarme todos los campos solo me examina hasta el alert ('Por favor, escriba su NOMBRE'); del campo1 que me esta fallando?

Aqui esta el codigo XHTML:
Código HTML:
Ver original
  1. <form method="post" action="index.php?sec=contacto" id="fConsulta" name="fConsulta">
  2.    <label for="nombre">Nombre: </label>
  3.       <input type="text" name="nombre" id="nombre" />
  4.    <br class="clear" />
  5.    <label for="telefono">Tel&eacute;fono: </label>
  6.       <input type="text" name="telefono" id="telefono" />
  7.    <br class="clear" />
  8.    <input type="submit" name="enviar" id="enviar" value="Enviar"/>
  9.    <br class="clear" />
  10. </form>


y aqui mi codigo Javascript que se carga en la cabecera del index.php
Código Javascript:
Ver original
  1. function validarFormulario() {
  2.    campo1 = document.getElementById("nombre");
  3.    campo2 = document.getElementById("telefono");
  4.    valor1 = campo1.value;
  5.    valor2 = campo2.value;
  6.  
  7.    //campo1 (nombre)
  8.    if (valor1==null || valor1.length==0 || /^\s+$/.test(valor1)) {
  9.       alert ('Por favor, escriba su NOMBRE');
  10.        ruta1.parentNode.style.background = "#FFDDDD";
  11.       ruta1.focus();
  12.       return false;
  13.    } else {
  14.       ruta1.parentNode.style.background = "transparent";
  15.    }
  16.  
  17.    //campo2 (telefono)
  18.    if (valor2==null || valor2.length!=9 || /^\d+$/.test(valor2)) {
  19.       alert ('Por favor, escriba su numero de TELEFONO o MOVIL');
  20.        ruta2.parentNode.style.background = "#FFDDDD";
  21.       ruta2.focus();
  22.       return false;
  23.    } else {
  24.       ruta2.parentNode.style.background = "transparent";
  25.    }
  26. }
  27.  
  28. window.onload = function(){
  29. document.getElementById("enviar").onsubmit=validarFormulario;
  30. }