Javascript函数在点击按钮时起作用,但在PHP echo中不起作用

Javascript函数在点击按钮时起作用,但在PHP echo中不起作用,javascript,php,Javascript,Php,有人能告诉我为什么我的javascript函数适用于我的按钮“onclick”,但不适用于php echo吗?代码如下。谢谢大家! 这项工作: <button onclick="activate_modal('info')">This Works!</button> 这行得通! 但这并不是: <?php if(1==1){ echo "<script type='text/javascript'>"; echo "activate_modal('in

有人能告诉我为什么我的javascript函数适用于我的按钮“onclick”,但不适用于php echo吗?代码如下。谢谢大家!

这项工作:

<button onclick="activate_modal('info')">This Works!</button>
这行得通!
但这并不是:

<?php
if(1==1){
echo "<script type='text/javascript'>";
echo "activate_modal('info');";
echo "</script>";
}
else{
}
?>
试试这个

<body  <?php echo "onload=activate_modal('info');"; ?>  >
----
----
</body>

试试这个,这可能对调用函数有帮助

<?php
if ($ID = '') {
echo "<script language=javascript>alert('Please enter a valid username.')</script>";
}
?>

使用PHP时要考虑的事情:它总是解释的第一件事。很可能,当HTML告诉javascript调用该函数时,您的javascript函数没有被加载到页面中


在HTML中声明javascript函数后,您可以随时将该脚本放到HTML中来解决此问题。

您必须更改代码顺序。首先,您已经输入了php代码。这是一个简单的警报示例。试试这个

 <?php

    echo "<script type='text/javascript'>";
    echo "activate_modal('info');";
    echo " function activate_modal(a){alert(a);}";
    echo "</script>";

    ?>


    <button onclick="activate_modal('info')">This Works!</button>

在页面底部添加脚本您应该在定义activate_modal()函数后调用脚本。谢谢--我实际上在页面的“head”部分声明了该函数,我正在尝试在“body”部分调用该函数。这很奇怪,因为它与按钮“onclick”配合得很好,但不会在按钮正下方的php回声中运行……您可以尝试的另一件事是将php blurb移动到body标记的最底部,以便在body加载完成时调用它。正如其他答案所建议的,您可以使用一些php将该脚本插入body“onload”属性。再次感谢-请参阅我对所选答案的评论-更好地解释了我正在尝试做的事情。谢谢你的帮助。谢谢-我很确定这就是答案。在我看来,在调用函数之后声明函数是愚蠢的。。但这可能是我缺乏谈话经验的缘故。因此,如果我想多次调用同一个函数,唯一的方法(使用PHP echos)是在每次需要使用时反复声明该函数?是的。我不知道你到底需要什么。但问题是,如果您想通过PHP echo方法创建JavaScript,您必须遵循以下顺序。然后只有您可以创建函数。谢谢您的帮助。我有一些“奇特”的模式,它们使用jquery/javascript使整个屏幕淡入淡出,并给出一条消息,然后允许您单击任何地方来关闭它。我使用PHP来验证表单条目,我想基本上说“如果通过,继续,如果不通过,调用jquery modal”……我希望我可以简单地使用PHP echos来调用函数,但我想这并不容易。