Necesito validar todos los campos de un formulario con una función javascript pero no consigo capturar el evento, o si lo capturo, no funciona. El envío del formulario lo tengo hecho con una función PHP y funciona todo perfectamente, lo que necesito es validar los campos antes de enviarlos, os pego el código.
Código HTML:
<!------------------------------------ FORMULARIO -----------------------------------> <form id="contact-form" method="post" enctype="multipart/form-data" action="sources/enviar.php"> <fieldset> <label><span class="text-form">Nombre:</span><input type="text" name="name"></label> <label><span class="text-form">Email:</span><input type="text" name="email"></label> <label><span class="text-form">Teléfono:</span><input type="text" name="telf"></label> <label><span class="text-form">Empresa:</span><input type="text" name="corp"></label> <label><span class="text-form">Verificación Humana</span><img src="sources/captcha.php"/></label> <label><span class="text-form">Escriba el texto de verificación:</span><input type="text" name="captcha"></label> <div class="wrapper"> <div class="text-form">Mensaje:</div> <div class="extra-wrap"> <textarea name="message"></textarea> <div class="clear"></div> <div class="buttons"> <a class="button" onClick="document.getElementById('contact-form').reset()">Limpiar</a> <a class="button" onClick="document.getElementById('contact-form').submit(checkForm(thisform);)">Enviar</a> </div> </div> </div> </fieldset> </form> <!------------------------------------ FIN FORMULARIO ----------------------------------->
Código:
MUCHAS GRACIAS ! <!------------------------------------ FUNCIÓN JAVASCRIPT-------------------------------> <script> function checkForm(thisform) { if (document.forms.contacts-form.elements['name'].value.length == 0) { alert('Escribe tu Nombre Complet0'); return false; } if (document.forms.contacts-form.elements['email'].value.length == 0) { alert('Escribe tu Email'); return false; } var f = document.forms.contacts-form.elements['email'].value; function mailValido(f){ var verif_mail=false var arroba = f.indexOf('@',0); var punto = f.indexOf('.',arroba); if(arroba == -1 || punto == -1){ //alert ('El formato de tu Email no es correcto'); //f.Email.focus(); }else{ verif_mail=true; } return verif_mail; } if (!mailValido(f)){ alert("El format del teu Email no és correcte"); return false; } if (document.forms.contacts-form.elements['telf'].value.length == 0) { alert('Escribe tu teléfono'); return false; } if (document.forms.contacts-form.elements['empresa'].value.length == 0) { alert('Escribe tu empresa'); return false; } if (document.forms.contacts-form.elements['message'].value.length == 0) { alert('Escribe tu mensaje'); return false; } if (document.forms.contacts-form.elements['captcha'].value.length == 0) { alert('Has d\'escriure el text de verificació'); return false; } return true; } </script> <!------------------------------------ FUNCIÓN JAVASCRIPT------------------------------->