我有一个 php 页面,其中包含 jQuery 和 script.js 文件。当我将以下函数放入我的 php 文件中时,该函数将被执行并按预期工作:
<script>
$('#scoreboard-overview').load('getusers.php?q=<?php echo $NewString; ?>').fadeIn("slow");
</script>
它有什么作用?那么它会重新加载 id 为 scoreboard-overview
的 div在我的 php 文件中,其中包含来自名为 getusers.php 的外部 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");
}
我验证了代码。数据库使用 updatecore.php 进行更新,但在此之后(成功后),div 不会刷新。所以代码的成功部分不起作用。我做错了什么?
ps:'+document.getElementById('str')+'
应该给我与 echo $NewString;
相同的结果仅取自 ID 为 str
的 div (因为 php 不能在 js 文件中工作?)
最佳答案
document.getElementById('str')
将返回具有 'str' id 的 HTML 元素,而不是元素内的文本。我不确定这个元素实际上是什么样子,但您可能会执行类似 document.getElementById('str').textContent
的操作。
关于javascript - jquery 函数在 javascript 内部不起作用,但在 JavaScript 外部却工作得很好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11003055/