0

jQuery と script.js ファイルを含む php ページがあります。次の関数を php ファイル内に配置すると、関数が実行され、意図したとおりに動作します。

<script>
    $('#scoreboard-overview').load('getusers.php?q=<?php echo $NewString; ?>').fadeIn("slow"); 
</script>

それは何をするためのものか?scoreboard-overviewgetusers.php という外部 php ファイルからのデータを使用して、php ファイルのid を持つ div を再読み込みします。

これはすべてうまくいきます。

script.js ファイル (これは、php ページの最後で の直前にロードされます</body>) で、updatescore.php ファイルがフォームを介してデータベースの更新を完了したときに、この div もリロードしたいと考えています。私はそれのためのこのコードを持っています:

$.ajax({
    type: "POST",
    data: $("#form").serialize(),
    cache: false,
    url: "updatescore.php",
    success: function() { //reload overview
        $('#scoreboard-overview').load('getusers.php?q=' + document.getElementById('str') + '').fadeIn("slow");
    }
});​

したがって、成功した後、jQuery 関数を実行する必要があります。

function () { //reload overview
    $('#scoreboard-overview').load('getusers.php?q='+document.getElementById('str')+'').fadeIn("slow");                  
}

コードを確認しました。データベースは updatescore.php を使用して更新されますが、この後 (成功した後)、div は更新されません。したがって、コードのこの成功部分は機能していません。私は何を間違っていますか?

ps: id を持つ div からのみ取得した'+document.getElementById('str')+'のと同じ結果が得られるはずです(php は js ファイル内で動作しないため?)echo $NewString;str

4

1 に答える 1

2

document.getElementById('str')要素内のテキストではなく、「str」ID を持つ HTML 要素を返します。この要素が実際にどのように見えるかはわかりませんが、次のようにするとよいでしょうdocument.getElementById('str').textContent

于 2012-06-12T19:23:49.030 に答える