我试图在PHP中调用jQuery/Javascriptfunction
,但它不起作用。如果我用一个简单的alert();
替换myFunction()
,它就起作用了。如果我用onclick()
调用它,那么myFunction()
就可以工作。
我的代码PHP:
<?php
if($_SESSION["..."] == true){
echo "<script>myFunction()</script>";
} ?>
我的代码JS:
<script>
function myFunction() {
content...
} </script>
有人能帮我解决问题吗?
亲爱的,您必须在单个脚本标记中使用相同的功能,如下所示。这是最快的解决方案,其他解决方案也有,但对你来说会变得复杂。
<?php
echo "<script>
function myFunction() {
alert('asdf');
}";
if($_SESSION["..."] == true){
echo "myFunction()</script>";
} ?>
您可以将ur会话值分配给js变量,并使用js变量触发函数。
<script>
var checkcall = <?php echo $_SESSION["..."]; ?>
if(checkcall == true){
myFunction();
}
function myFunction() {
content...
}
</script>
如果你正在使用jquery,你可以在文档中包括调用块。ready
<script>
$(document).ready(function(){
var checkcall = <?php echo $_SESSION["..."]; ?>
if(checkcall == true){
myFunction();
}
});
function myFunction() {
content...
}
</script>
问题是,当您尝试调用myFunction
时,它不存在。由于alert
有效,我们知道您的脚本实际上按预期执行。因此,为了解决您的问题,您需要在适当的位置定义myFunction
。
请允许我帮你检验一下我的陈述。让我们试试这个代码:
<script>
if (typeof myFunction === "undefined") {
function myFunction {alert("Define me!");}
}
myFunction();
</script>
如果您看到文本为的警报,请定义我然后我准确地描述了你的问题。在这种情况下,您需要在代码中搜索myFunction
,看看它是如何定义的,并替换
function myFunction {alert("Define me!");}
符合函数的正确定义。
您的PHP函数在JS文件加载到浏览器之前执行,这就是它不工作的原因。
">警报""onClick";将起作用,因为警报将只显示您编写的消息,并且当页面正确加载时,单击onClick事件,然后单击按钮执行其操作。
如果javascript函数不大,那么您应该在PHP代码中编写一个javascript函数。