我有一个包含div的页面。我通过页面上的各种链接加载另一页。其中一个加载到div的页面上有一个表单,该表单将数据提交到PHP页面并更新该页面中的div。
结论是:
主页
- 主页DIV
- 内页
---表
---内页DIV
----提交的数据应在此处显示
--- /内页DIV
- /内页
- /主页DIV
/主页
(我希望这有点意义)。
在我的主页面中,我有以下代码:
$(document).ready(function()
{
$('#create').submit(function() {
$.ajax(
{
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response)
{ // on success..
$('#created').html(response);
}
});
return false;
});
$("#content").load("content.html");
});
然后在加载到DIV的内部页面中,我有以下内容:
<form id="create" method="POST" action="create.php">
<input type="text" name="url">
<input type="submit" value="Create" />
<div id="created"></div>
然而,所有发生的事情是create.php页面在主窗口中加载,而不是在“创建”div中加载。
如果它只在一个页面上,这是有效的,所以我认为这与在另一个页面中包含一个div有关。有人可以帮忙吗?
由于
答案 0 :(得分:1)
对于动态内容(页面加载后添加的内容),您必须使用实时事件监听器。
$('#create').live ('submit', function() {
给我一个去,我认为jQuery 1.4中添加了提交支持。
这是一个小例子:http://jsfiddle.net/nFQ7S/