0

次のコードの何が問題になっているのか誰かに教えてもらえますか?「コンテンツ」divではなく、常に新しいページに更新されます。ありがとう。

This is a test:<br />
   <a href="/form" onclick="return updateContent()">Click me</a>
     <div id="content">
       Update here.
   </div>

<script>
function updateContent() {
  $.ajax({
    type: 'GET',
    url: $(this).attr('href'),
    success: function(data) {
      $('#content').html(data);
    };
 });
};
</script>
4

3 に答える 3

1

jQueryを使用しているので、適切に使用することをお勧めします。リンクのデフォルトの動作をキャンセルするものがないため、リンクはリンクの目的を実行しています。

変化する:

<a href="/form" onclick="return updateContent()">Click me</a>

<a href="/form">Click me</a>

そして、jQueryを次のように変更します。

$('a').click(function(e) {
    e.preventDefault();
    $.ajax({
        type: 'GET',
        url: $(this).attr('href'),
        success: function(data) {
            $('#content').html(data);
        };
    });
});​
于 2012-12-11T04:18:50.653 に答える
1

リャンタン。ここのJavaScriptコードに構文エラーがあります:

success: function(data) {
  $('#content').html(data);
};

;後は必要ありません}。とにかく、これは正解です。また、HTMLマークアップでonclickなどの内部イベントを使用しないでください。javascript/jqueryで処理してみましょう。

This is a test:<br />
<a href="form.html" id="link">Click me</a>
<div id="content">
Update here.
</div>

<script>
$(function () {
    $('#link').bind('click', function (e) {
        e.preventDefault();

        $.ajax({
            type: 'GET',
            url: $(this).attr('href'),
            success: function(data) {
              $('#content').html(data);
            }
         });
    });
});
</script>

説明
1.リンクに特定のIDを付けます。だから私はjqueryコードでそれにアクセスすることができます。
2.リンクが発生したclick場合、リンク動作をキャンセルします(with e.preventDefault()

于 2012-12-11T04:23:49.143 に答える
0

を書く代わりに<a href="/form" onclick="return updateContent()">Click me</a>、次のように書いてください。
<span style="cursor:pointer;" onclick="return updateContent()">Click me</span>
上記は機能します。

于 2012-12-11T04:14:45.053 に答える