1

我正在尝试在提交到我使用的 HTML 文件时重定向到联系表单。

header('Location: /dev/thanks.html');

但是,这会将其加载到不同的页面,而不是我已经在的页面。

我已经有 jQuery 为联系表单和信息页面制作弹出窗口,即:

$('a.contact , a.contact_footer, a.contact_text').click(function() {
    $("html, body").animate({ scrollTop: 0 }, 600);
    $("#popup").load("/dev/contact.php");
    // Getting the variable's value from a link
    var show = $('#popup').css('display', 'block'),
    popup = $(this).attr('href');

    //Fade in the Popup and add close button
    $(popup).fadeIn(300);

    // Add the mask to body
    $('body').append('<div id="mask"></div>');
    $('#mask').fadeIn(300);

    return false;

在提交联系表格时,我想加载一个新文件(thanks.html),用感谢信息替换弹出窗口(联系表格)。类似于我已经用 jQquery 做的事情,但我希望它只在提交时实现:

<div class="submit">
    <input type="submit" value="Submit"/>
</div>

我需要做些什么来修改我的 jQuery,以便它在提交而不是点击时实现?

4

2 回答 2

2

将提交事件添加到联系表单:

如果您使用 jQuery 1.7+,请使用on

$(document).on("submit", "form#submit_message", function() { 
    $('#popup').load('/dev/thanks.html'); 
    return false; 
});

如果没有,请使用live(或升级您的 jQuery 版本):

//live is old deprecated
$('form#submit_message').live('submit', function() {
    $('#popup').load('/dev/thanks.html');
    return false;
});
于 2013-05-03T16:12:28.460 回答
1

我假设表单将直接附加在“#popup”中,否则您将不得不更改“var popup ...”行。

$("#popup").on("submit", "form", function(event){
    var popup = $(this).parent();
    var data = $(this).serialize();
    $.ajax({
        type: "POST",
        url: "my_url.php",
        data: data
    }).done(function(html){
        popup.html(html);
    });
    return false;
});
于 2013-05-03T16:19:34.940 回答