Les comento me baje un template que trae un formulario de contacto aparentemente en jquery (que poco entiendo de esto) y el tema es que no logro hacerlo andar. El formulario avisa correctamente cuando alguien no pone su nombre, o no pone un mensaje, o su e-mail, pero cuando ingresas todo como corresponde y tocas el boton submit no pasa nada.
Bueno les dejo el código haber donde está fallando o que es lo que hace falta.
- El código en la web HTML:
Código:
<h3 class="contactTitle">Formulario de contacto:</h3> <!-- custom form messages start --> <span class="error" id="nameError">Porfavor ingresa tu nombre </span> <span class="error" id="emailError">Porfavor ingresa tu e-mail </span> <span class="error" id="emailError2">Please ingresa un e-mail valido </span> <span class="error" id="messageError">Porfavor ingresa tu mensaje </span> <div class="contactSuccessMessage"> <img src="images/ok.png" alt=""/> <h4>Gracias por contactarnos.</h4> </div> <!-- custom form messages end --> <!-- contact form start --> <div class="contactForm" id="contactForm"> <form id="contact"> <fieldset> <label for="contactName" id="name_label">Name (required)</label> <input type="text" name="contactName" id="contactName" size="30" value="" class="text-input" /> <label for="contactEmail" id="email_label">Email (required)</label> <input type="text" name="contactEmail" id="contactEmail" size="30" value="" class="text-input" /> <label for="contactSubject" id="subject_label">Subject </label> <input type="text" name="contactSubject" id="contactSubject" size="30" value="" class="text-input" /> <label for="contactMessage" id="message_label">Message (required)</label> <textarea name="contactMessage" id="contactMessage" class="text-input"></textarea> <p> <input type="submit" name="submitMessage" class="contactButton" id="contactSubmitBtn" value=""/> </p> </fieldset> </form> </div> <!-- contact form end -->
- El archivo JS Script dentro de una carpeta que contiene los archivos del sitio web.
Código:
jQuery(function() { jQuery('.error').hide(); jQuery('.contactSuccessMessage').hide(); jQuery(".contactButton").click(function() { // validate and process form // first hide any error messages jQuery('.error').hide(); var name = jQuery("input#contactName").val(); if (name == "") { jQuery("span#nameError").fadeIn(500); jQuery("input#contactName").focus(); return false; } var email = jQuery("input#contactEmail").val(); if (email == "") { jQuery("span#emailError").fadeIn(500); jQuery("input#contactEmail").focus(); return false; } var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; if(!emailReg.test(email)) { jQuery("span#emailError2").fadeIn(500); jQuery("input#contactEmail").focus(); return false; } var subject = jQuery("input#contactSubject").val(); var msg = jQuery("textarea#contactMessage").val(); if (msg == "") { jQuery("span#messageError").fadeIn(500); jQuery("textarea#contactMessage").focus(); return false; } var dataString = 'name='+ name + '&email=' + email + '&subject=' + subject + '&msg=' + msg; //alert (dataString);return false; jQuery.ajax({ type: "POST", url: "php/mail.php", data: dataString, success: function() { jQuery("#contactForm").hide(); jQuery(".contactSuccessMessage") .fadeIn(1500); } }); return false; }); });
Mi idea es que el formulario mande un email a la dirección [email protected] con los datos ingresados en el formulario.
Gracias desde ya.
Saludos.