基本上,我正在尝试从我的 PHP 调用一个 javascript 函数,并且我正在使用我知道在其他情况下可以工作的代码,但是这里不是,我不知道为什么?
这可能是愚蠢的,因为我已经盯着这个屏幕看了很长时间了:)
这里是我调用函数的地方:
if(isset($test_details['done_test'])){
echo "getting here";
echo "<SCRIPT LANGUAGE='javascript'>user_error();</SCRIPT>";
}
我成功打印了“getting here”,但它没有调用 JS 函数。
javascript 函数:
function user_error(){
document.write("working");
//alert("User has already taken this test. Your are being redirected...");
//setTimeout("window.location='home_student.php'",3000);
}
评论它是我最终希望它做的。
谁能解释一下。
非常感谢,
@Crimson - 这是我根据你的建议尝试的方法......仍然没有成功。
现在的javascript:
$(document).ready(function () {
var done = "<?= $test_details['done_test'] ?>";
if(typeof done != 'undefined'){
$('WORKING').appendTo('#bodyArea'); // just to test
}
});
最佳答案
通过回显 <script>...</script>
使用 PHP,您不会让浏览器运行 JS 函数!
PHP 只输出要发送给浏览器的 HTML 文件。然后,浏览器解析此 HTML 并在页面显示给用户之前执行大量操作。
接下来,用户与显示的页面交互(或发生一些其他浏览器相关事件,如“onload”)并调用附加的 JS。
所以,如果你想在某个时间运行一些 JS,比如在浏览器完成加载页面后立即运行,你需要在 HTML 文件中创建 JS,以便有一个 JS 函数被调用在这样的页面加载事件中:
<body onload="/*do something here*/"> ... </body>
不过,最好使用 JQuery 或其他一些 JS 框架来完成这样的事情。
关于php - 从 PHP 调用 JavaScript 函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5736875/