$(document).ready(function () { $('#formContacto').attr('action', './enviar_form.php'); var options = { beforeSubmit: showRequest, success: showResponse, clearForm: true, resetForm: true }; jQuery('#formContacto').ajaxForm(options); }); function cambiarCSS(fullName, color, disableEnviar){ fullName.css({"border-color": color, "border-width":"1px", "border-style":"solid"}); if(disableEnviar){ $('#enviar').prop( "disabled", false ); }else{ $('#enviar').prop( "disabled", true ); } } function showResponse(responseText, statusText, xhr, $form) { //alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + '\n\nThe output div should have already been updated with the responseText.'); if(responseText==""){ alert("Solicitud realizada correctamente"); }else{ alert(responseText); } $('#enviar').prop( "disabled", false ); } function showRequest(formData, jqForm, options) { if( $('#full-name').val() == "" || !$('#full-name').val().trim() ){ alert("Introduce tu nombre"); cambiarCSS($('#full-name'), "red", true); return false; }else{ cambiarCSS($('#full-name'), "grey", false); } if( $('#email').val() == "" || !$('#email').val().trim()){ alert("Introduce el e-mail"); cambiarCSS($('#email'), "red", true); return false; }else{ cambiarCSS($('#email'), "grey", false); } if(!isEmail($('#email').val())){ alert("El email no tiene el formato correcto"); cambiarCSS($('#email'), "red", true); return false; }else{ cambiarCSS($('#email'), "grey", false); } if( $('#message').val() == "" || !$('#message').val().trim() ){ alert("Introduce tu Mensaje"); cambiarCSS($('#message'), "red", true); return false; }else{ cambiarCSS($('#message'), "grey", false); } } function isEmail(str) { // are regular expressions supported? var supported = 0; if(window.RegExp) { var tempStr = 'a'; var tempReg = new RegExp(tempStr); if(tempReg.test(tempStr)) supported = 1; } if(!supported) return (str.indexOf('.') > 2) && (str.indexOf('@') > 0); var r1 = new RegExp('(@.*@)|(\\.\\.)|(@\\.)|(^\\.)'); var r2 = new RegExp('^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$'); return (!r1.test(str) && r2.test(str)); }