2013-05-03 25 views
1

我想重定向到一个联系表单提交到我已经使用的HTML文件。关于提交,加载一个HTML弹出文件到div

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所以它实现了对而不是提交点击?

+0

jQuery的onSubmit方法在AJAX调用里面获取你的html页面的方法。每次工作。 – blackhawk 2013-05-03 15:53:44

+0

你能举个例子吗? – MaxwellLynn 2013-05-03 15:59:24

回答

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; 
}); 
+0

对不起,通过添加提交到表单是什么意思? – MaxwellLynn 2013-05-03 16:14:16

+0

将提交事件添加到联系表单并执行ajax调用。我刚刚在您的网站上进行了测试,结果很有用! :D – falsarella 2013-05-03 16:15:38

+0

我刚刚进入联系表单,打开控制台并粘贴了我发布的jQuery。然后,点击提交按钮就可以完成你想要的魔法。 – falsarella 2013-05-03 16:17:08

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; 
});