在PHP中调用Jquery/Javascript函数



我试图在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文件加载到浏览器之前执行,这就是它不工作的原因。

">警报"&quotonClick";将起作用,因为警报将只显示您编写的消息,并且当页面正确加载时,单击onClick事件,然后单击按钮执行其操作。

如果javascript函数不大,那么您应该在PHP代码中编写一个javascript函数。

最新更新