Php jqmodalajax弹出窗口中的jqueryajax联系人表单

Php jqmodalajax弹出窗口中的jqueryajax联系人表单,php,jquery,ajax,html,jqmodal,Php,Jquery,Ajax,Html,Jqmodal,大家好,我正在使用Jqmodal在我的网站上创建一个联系人表单弹出窗口。联系人表单加载和显示正确,但是联系人表单本身我正在尝试使用ajax提交它,然后想给用户一条消息,说message send并将表单向上滑动 无论如何,我遇到的主要问题是,它提交表单,但将用户带到实际的php文件,它应该通过ajax连接到该文件。我的代码如下。这可能是Jqmodal方面的事情,但我不确定是否有人能为我指出正确的方向,这将是非常棒的。此外,关闭按钮不工作,但我想我可以修复 <!DOCTYPE html>

大家好,我正在使用Jqmodal在我的网站上创建一个联系人表单弹出窗口。联系人表单加载和显示正确,但是联系人表单本身我正在尝试使用ajax提交它,然后想给用户一条消息,说message send并将表单向上滑动

无论如何,我遇到的主要问题是,它提交表单,但将用户带到实际的php文件,它应该通过ajax连接到该文件。我的代码如下。这可能是Jqmodal方面的事情,但我不确定是否有人能为我指出正确的方向,这将是非常棒的。此外,关闭按钮不工作,但我想我可以修复

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />

<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

<script src="http://www.modernizr.com/downloads/modernizr.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script type='text/javascript'>
$(document).ready(function() {
    $("#submit").click(function() {
        var action = $("#contact_form").attr('action');
        var form_data = {
            code:$("#code").val(),
            name:$("#name").val(),
            email:$("#email").val(),
            message:$("#message").val(),
            is_ajax:1
        };
        $.ajax({
            type:"POST",
            url:action,
            data:form_data,
            success: function(response)
            {
                if(response == 'success')
                    $("#form").slideUp('slow', function() {
                        $("#message").html("<p class='success'>Your Message Has Been Sent.</p>");
                    });
                else
                    $("#message").html("<p class='error'>Code was typed incorecctly.</p>");
            }
        });
        return false;
    });

    // refresh captcha
    $('#refresh').click(function() {
        change_captcha();
    });

    function change_captcha(){
        document.getElementById('captcha').src="./static/classes/get_captcha.php?rnd="+Math.random();
    };
});
</script>
<link href="./static/css/style.css" rel="stylesheet" type="text/css" media="screen">
<link href='http://fonts.googleapis.com/css?family=Quantico:400,700' rel='stylesheet' type='text/css'>

</head>
<body>
    <span id="close">
        <button class="jqmClose">Close</button>
    </span>
    <br/><br/>
    <form name="contact_form" method="POST" action="./static/classes/contact.php" enctype="application/x-www-form-urlencoded">
        <input id="name" name="name" type="text" placeholder="Full Name..." required>
        <br/>
        <input id="email" name="email" type="email" placeholder="Your Email..." required>
        <br/>
        <input id="message" name="message" type="text" placeholder="Your Message..." required>
        <br/>
        <section id="captcha_area">
            <img src="./static/classes/get_captcha.php" alt="" id="captcha" />
            <br/>
            <input name="code" type="text" id="code">
        </section>
        <section id="refresh">?</section>
        <br clear="all" /><br clear="all" />
        <input type="submit" id="submit" value="Send">
    </form>
    <span id="message"></span>
</body>
</html>
将$submit.clickfunction{更改为=>$submit.clickfunction E{ e、 preventDefault;。其余代码相同。这将停止提交操作的默认行为


或者,您可以使用event.

非常感谢,但在按submit键后,它仍然会将用户带到contact.php页面:/I仍然在尝试自己修复它,但更多的建议将非常棒。您的表单没有将id属性设置为contact\u form,因此,它没有ajax请求的url。我尝试了这个方法,并且成功了不要把我带到php页面。检查本地机器上的javasscript是否有错误。如果它在任何时候包含错误,它将停止执行语句。是的,这是一个愚蠢的错误,但奇怪的是,它仍然知道在没有声明表单ID的情况下提交到哪里。我更改了它,它仍在这样做,所以我正在尝试弄清楚尽管如此,最让人恼火的是,我的验证码检查总是出错,一分钟前还在工作,所以我试图回到自己的轨道上。这让我疯狂,现在尝试这么多小的事情来让它工作,如果有人想看到我正在处理的实时版本,请点击下面的“联系我们”按钮顶,我会继续努力的。