我使用 jQuery Ajax 来更新 div。一件事困扰着我:对于插入的 HTML 数据,似乎我必须将其关联的 javascripts 放入文件中,而不是将它们包含在<head>
元素中。否则,Ajax 将无法工作。例如,我有以下 HTML 和 jQuery 代码:
base.html
:
...
<head>
...
<script> <!-- Get script -->
$(document).ready(function() {
$('.getContent').click(function() {
var url = $(this).attr('href');
$('#content').load(url);
return false;
});
});
</script>
</head>
...
<div id="content">
...
<!-- Insert the 'addMember.html' into 'content' div -->
<a class="getContent" href="/addMember">Add member</a>
...
</div>
...
addMember.html
:
...
<form class="postContent" action="/addMember" method="post">
...
<input type="submit" value="Submit" />
</form>
<script> <!-- Post script -->
$(document).ready(function() {
$('.postContent').ajaxForm({
success: function(returnData) {
$('#container2').html(returnData);
}
});
});
</script>
如果我点击Add member
,addMember.html
将被加载到content
div 中。然后当我点击 时Submit
,帖子的结果也会更新content
div。一切正常。但是,我也想将“发布脚本”放在<head>
元素中,以便其他页面可以共享代码。但是,如果我这样做,Ajax 将无法工作(即,发布结果不会更新content
div)。我该如何解决?