jQuery Ajax を使用して div を更新します。気になったことが 1 つあります。挿入された HTML データの場合、関連する JavaScript を<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
、がdivaddMember.html
にロードされます。content
そして、 をクリックすると、投稿の結果によってdivSubmit
も更新されます。content
すべて正常に動作します。<head>
ただし、他のページがコードを共有できるように、「Post script」も要素に入れたいと思います。しかし、そうすると Ajax は機能しません (つまり、投稿結果でcontent
div が更新されません)。どうすれば修正できますか?