Javascript 在分区内张贴表格

Javascript 在分区内张贴表格,javascript,jquery,Javascript,Jquery,我试图实现的类似于在div中单击的链接如何仅在div中加载,而不是在表单中加载,因此在div中发布的任何表单都在div中加载 例如,如果我在#profile body中有一个表单 <form method="POST" action="/post.php"> <input name="test" type="text"/> <input type="submit"/> </form> 提交表单后,操作页面将加载到div中 $(function

我试图实现的类似于在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>
$(函数(){
$(文档).on('单击',')。配置文件正文,#配置文件正文a',函数(e){
e、 preventDefault();//阻止浏览器打开url
$('#profile body').load(this.href);
});
});
$(文档).ready(函数(){
var defaultPage=“defaultPage.html”;
$('#profile body').load(默认页面);
});
我的问题是如何将表单发布页面加载到div中。

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

$(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 > form').on('submit', function(e) {
  e.preventDefault();
  $(this).parent('div').load(this.action, $(this).serializeArray());
});

我尝试了你发布的代码,但它不起作用。仍然在分区外加载表单。hmm抱歉,但我不知道“不起作用”是什么意思,也不知道您尝试了什么。。。?你能发一张MCVE吗?也许您需要委派事件,但您的问题仍然缺少上下文以使其更清晰。我需要以任何方式更改上述代码以使其工作吗?表单仍然会发布到整个页面,而不仅仅是在div中。如果是这样,这意味着默认行为不会被阻止。同样,您可能只需要委托它,例如:
$(document).on('submit',div>form',function(e){e.preventDefault();$(this).parent('div').load(this.action,$(this.serializeArray());})。但是,没有看到任何具体的例子,你在寻找什么,我只能猜测