0

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 は機能しません (つまり、投稿結果でcontentdiv が更新されません)。どうすれば修正できますか?

4

1 に答える 1

0

それを関数にして、新しいコンテンツが読み込まれたときに関数を呼び出すだけです。

function postScript() {
  $('.postContent').ajaxForm({
    success: function(returnData) {
      $('#container2').html(returnData);
    }
  });
}
...
$('#content').load(url, postScript);
于 2013-03-10T06:44:13.130 に答える