php - jQuery - 将联系表单替换为 'thanks message'

标签 php javascript jquery jquery-validate

我有一个执行 PHP 操作的联系表单。联系表单与 jQuery 中的验证引擎连接。如果消息发送正确,我只需包含带有感谢消息的 PHP 文件 - require_once('success.php');。发送消息后,我想用感谢消息替换联系表单,而无需重新加载整个页面。请给我一些建议如何去做。 这是我的 html:

<div id="contactForm">
<form id="expertForm" class="formular" method="post" action="send.php">
    <fieldset>
        <label>
            <input name="email"
                   id="email"
                   class="required email"
                   type="text"
                   size="40"/>
        </label>

        <p>
            <textarea name="body" id="body" rows="5" cols="50" class="required"></textarea>
        </p>
    </fieldset>
    <input class="submit"
           type="image"
           src="../images/btn-send.png"/>
</form>
</div>
<script type="text/javascript">
  $("#expertForm").validate();
</script>

send.php 中我有:

if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    require_once('success.php');
}

最佳答案

您可以在此处看到几乎工作演示 http://jsfiddle.net/v7MJA/1/

$(function(){
    $("#expertForm").submit(function(e){
        e.preventDefault();
        if(!$(this).validate().form()) return false;
        $.ajax({
            url:$(this).attr('action'),
            data:$(this).serialize(),
            type:'post',
            success:function(msg){
                $("#expertForm").replaceWith(msg);
            }
        });
    });
});

关于php - jQuery - 将联系表单替换为 'thanks message',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7660999/

相关文章:

php - 在 php 电子邮件中显示图像标签

php - 使用php在mysql中插入符号

php - array_diff() 基于具有关联行的两个数组之间的一列

javascript - 去抖动

php - 数组合并具有相同索引的php

javascript - 如何使用 jQuery 创建元素?

javascript - 尝试在ElasticSearch中进行查询和汇总,但无法正常工作-Elasticsearch.js客户端

javascript - Jquery-ui tabs (ajax) .... 重新选择选项卡时停止选项卡重新加载 url

jquery - 如果选择选项或打开 url,则显示引导模式

jQuery ui 在视频拖动条上禁用拖动