PHP邮件功能和jQuery验证

时间:2012-11-10 21:35:04

标签: php jquery

我在我创建的wordpress网站上创建了一个简单的联系表单,该网站使用jQuery检查输入的电子邮件地址是否有效。当我填写表单时,一切正常(它验证确定),除了它没有发送电子邮件,它一直停留在$('#loader', form).html('<p class="enviando">Enviando, por favor espere...</p>');步骤。我究竟做错了什么?

谢谢大家!

这是我的代码:

HTML

<div class="email_me">Puede contactarme rellenando el siguiente formulario</div>
    <div id="form-cont">
        <div id="form">
            <form action="process.php" method="post" id="contact_form">
                <input type="textbox" name="nombre" id="nombre" value="nombre" onFocus="if(this.value=='nombre')this.value='';" onBlur="if(this.value=='')this.value='nombre'";/>
                <input type="textbox" name="email" id="email" value="email" onFocus="if(this.value=='email')this.value='';" onBlur="if(this.value=='')this.value='email'";/>
                <textarea name="comentario" id="comentario" cols="" rows="" onFocus="if(this.value=='COMENTARIO...')this.value='';" onBlur="if(this.value=='')this.value='COMENTARIO...';">COMENTARIO...</textarea>
                <div id="loader">
                    <input type="submit" name="enviar" id="submit" />
                </div>  
            </form>
        </div>
        <div id="email_error">Dirección de email no valida<br/>- Volver a intentar -</div>
    </div>
<div class="email_me">También puede hacerlo vía email escribiendo a:<br/><a href="mailto:xxxxxx@gmail.com">xxxxxx@gmail.com</a></div>

PHP - &gt; process.php

<?php
    $toemail = 'hello@email.com';
    $name = $_POST['nombre'];
    $email = $_POST['email'];
    $message = $_POST['comentario'];

    if(mail($toemail, 'Email desde Web', $message, 'From: ' . $email)) {
        echo "<p class='enviado'>Su mensaje ha sido enviado. Gracias.</p>";
    } else {
        echo "<p class='enviado'>Hubo un problema enviando su email, por favor vuelva a intentar luego.</p>";
    }
?>

的jQuery

$(function(){

function validar_email(valor){
    var filter = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/;
    if(filter.test(valor))
        return true;
    else
        return false;
}

$('#contact_form').submit(function(e){
    e.preventDefault();
    var form = $(this);
    var post_url = form.attr('action');
    var post_data = form.serialize();

    if($("#email").val() == ''){
        $('#form').fadeOut(500, function() {
            $('#email_error').fadeIn(500);
        });
    } 

    else if(validar_email($("#email").val())){
        $('#loader', form).html('<p class="enviando">Enviando, por favor espere...</p>');

        $.ajax({
            type: 'POST',
            url: post_url,
            data: post_data,
            success: function(msg) {
                $(form).fadeOut(500, function(){
                    form.html(msg).delay(500).fadeIn();
                    $('.email_me').fadeOut(500);
                });
            }
        });
    } 

    else {
        $('#form').fadeOut(500, function() {
            $('#email_error').fadeIn(500);
        });
    }
});

});
  编辑:解决方案很简单。我没有正确地链接表格。我忘了   之前的wordpress <?php bloginfo('template_url'); ?>/标记   process.php

0 个答案:

没有答案