我有一个包含jQuery和script.js文件的php页面。当我在php文件中放入以下函数时,函数会被执行并按预期工作:
<script>
$('#scoreboard-overview').load('getusers.php?q=<?php echo $NewString; ?>').fadeIn("slow");
</script>
它做什么?好吧,它在我的php文件中重新加载id为scoreboard-overview
的div,其中包含来自外部php文件getusers.php的数据
这一切都很有效。
现在在script.js文件中(在php页面的末尾,</body>
之前加载),我还想在updatecore.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:'+document.getElementById('str')+'
应该给我与echo $NewString;
相同的结果,只取自ID为str
的div(因为php在js文件中不起作用?)
答案 0 :(得分:2)
document.getElementById('str')
将返回带有'str'id的HTML元素,而不是元素中的文本。我不确定这个元素究竟是什么样子,但你可能会做document.getElementById('str').textContent
。