2014-03-28 41 views
0

任何人都可以告诉我为什么我的javascript函数适用于我的按钮“onclick”,但不会从PHP回显工作?代码如下。谢谢!Javascript函数适用于按钮点击,但不适用于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{ 
} 
?> 
+1

在页面底部添加脚本 –

+2

你应该在定义activate_modal()函数后调用脚本。 –

回答

1

您必须更改代码顺序。首先你已经把你的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> 
+0

谢谢 - 我很确定这是答案。对我来说,你认为在你称之为功能之后,我觉得这很愚蠢......但那可能是我缺乏交流经验的原因。因此,如果我想多次调用同一个函数,那么唯一能做到这一点的方法(使用PHP回声)是每次需要使用它时都会一次又一次地声明函数? – Lenny

+1

是的。我不知道你到底需要什么。但事情是,如果你想通过PHP回声方法创建JavaScript,你必须遵循这个顺序。那么只有你可以创建这些功能。 – Puvanarajan

+0

感谢您的帮助。我有“花哨”的模式,使用jquery/javascript淡入淡出整个屏幕并给出消息,然后让你点击任何地方关闭它。我使用PHP来验证表单条目,我想基本上说“如果通过,继续,如果不是,请调用jquery模式”...希望我可以简单地使用PHP回声调用函数,但我想这不是简单。 – Lenny

0

试试这个

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

试试这个,这可能会帮助你打电话的功能。

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

在使用PHP时需要考虑的事情:它总是解释的第一件事。可能的是,当告诉javascript调用该函数的HTML插入页面时,您的JavaScript函数尚未加载。

您可以通过在HTML中声明javascript函数之后随时添加该脚本来解决此问题。

+0

谢谢 - 我实际上已经在页面的“head”部分声明了函数,并且我试图在“body”部分中调用函数。这很奇怪,因为它与按钮“onclick”一起工作就好了,但不会在按钮下方的php回声中运行... – Lenny

+0

您可以尝试的另一件事是将该php blurb移动到body标签的最底部,所以当主体完成加载时它会被调用。正如其他答案建议,你可以把一些PHP插入到正文“onload”属性的脚本。 – Helpful

+0

再次感谢 - 请参阅我对我选择的答案的评论 - 更好地解释我正在尝试做的事情。感谢你的帮助。 – Lenny

相关问题