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<form method="post" action="index.php?sec=contacto" id="fConsulta" name="fConsulta"> <input type="text" name="nombre" id="nombre" /> <input type="text" name="telefono" id="telefono" /> <input type="submit" name="enviar" id="enviar" value="Enviar"/>
y aqui mi codigo Javascript que se carga en la cabecera del index.php
Código Javascript
:
Ver originalfunction validarFormulario() {
campo1 = document.getElementById("nombre");
campo2 = document.getElementById("telefono");
valor1 = campo1.value;
valor2 = campo2.value;
//campo1 (nombre)
if (valor1==null || valor1.length==0 || /^\s+$/.test(valor1)) {
alert ('Por favor, escriba su NOMBRE');
ruta1.parentNode.style.background = "#FFDDDD";
ruta1.focus();
return false;
} else {
ruta1.parentNode.style.background = "transparent";
}
//campo2 (telefono)
if (valor2==null || valor2.length!=9 || /^\d+$/.test(valor2)) {
alert ('Por favor, escriba su numero de TELEFONO o MOVIL');
ruta2.parentNode.style.background = "#FFDDDD";
ruta2.focus();
return false;
} else {
ruta2.parentNode.style.background = "transparent";
}
}
window.onload = function(){
document.getElementById("enviar").onsubmit=validarFormulario;
}