jQuery と script.js ファイルを含む php ページがあります。次の関数を php ファイル内に配置すると、関数が実行され、意図したとおりに動作します。
<script>
$('#scoreboard-overview').load('getusers.php?q=<?php echo $NewString; ?>').fadeIn("slow");
</script>
それは何をするためのものか?scoreboard-overview
getusers.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