0

我有一个包含 jQuery 和 script.js 文件的 php 页面。当我将以下函数放入我的 php 文件中时,该函数将被执行并按预期工作:

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

它有什么作用?scoreboard-overview好吧,它在我的 php 文件中使用来自名为 getusers.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 回答