2016-07-19 55 views
1

我想要实现的内容类似于如何在div中加载的链接只在div中加载,而不是在div中加载div的任何表单。格内的邮政形式

因此,例如,如果我有一个表格#profile-body;

<form method="POST" action="/post.php"> 
<input name="test" type="text"/> 
<input type="submit"/> 
</form> 

当表单被提交时,动作页面被加载到div中。

$(function(){ 
    $(document).on('click', '.profile-body, #profile-body a',function(e){ 
     e.preventDefault();// prevent browser from opening url 
     $('#profile-body').load(this.href); 
    }); 
}); 
$(document).ready(function() { 
    var defaultPage = "defaultpage.html"; 
    $('#profile-body').load(defaultPage); 
}); 

<div id="profile-body"></div> 

我的问题是我将如何获得表单发布页面加载到div中。

回答

2

load()如果传递了一些对象数据,则可以使用POST方法。所以你应该尝试这样的事情:

$('div > form').on('submit', function(e) { 
    e.preventDefault(); 
    $(this).parent('div').load(this.action, $(this).serializeArray()); 
}); 
+1

我试过你发布的代码,但它不起作用。仍然加载div的外部窗体。嗯 –

+0

对不起,但我不知道什么意思是“不工作”,也没有什么你试过...?你能发布一个MCVE吗?也许你需要委托事件,但你的问题是相当遗漏的上下文,使其更清晰 –

+1

我需要以任何方式更改上述代码为它的工作?,表单仍然张贴到整个页面,而不是在div。 –