php中的javascript
以下代码不适用于我php中的javascript,php,javascript,html,Php,Javascript,Html,以下代码不适用于我 <body onload = "<?php foreach($arr as $a){ echo "<script language = javascript> popup_show(\''.$a.'\', \'popup_drag\', \'popup_exit\', \'screen-top-left\', 20, 20) <script>"; } ?>" > 将Javascript代码放入事件处理程序(例如onloa
<body onload = "<?php
foreach($arr as $a){
echo "<script language = javascript> popup_show(\''.$a.'\', \'popup_drag\', \'popup_exit\', \'screen-top-left\', 20, 20) <script>";
}
?>" >
将Javascript代码放入事件处理程序(例如onload=“”)时,不需要包含HTML脚本标记
所以你只需要:
<body onload = "popupshow(...)">
您的完整示例如下:
<body onload = "<?php
foreach($arr as $a){
echo "popup_show(\''.$a.'\', \'popup_drag\', \'popup_exit\', \'screen-top-left\', 20, 20)";
}
?>" >
它失败,因为它在完成输出时不是有效的HTML:
<body onload="<script language = javascript> alert('Hello') <script>">
您正在生成无效的HTML。您不能将脚本
元素(实际上是任何元素)放入另一个HTML元素的属性中(在本例中为正文
)
事件属性只接受javascript。所以,你可以这样做
<body onload = "alert('Hello')">
那就行了
因为看起来您想要从一组数据构建JavaScript命令,所以我可以推荐这种方法吗
<html>
<head>
<script type="text/javascript">
onload = function()
{
<?php
foreach($arr as $a)
{
echo " popup_show('$a', 'popup_drag', 'popup_exit', 'screen-top-left', 20, 20);\n";
}
?>
}
</script>
</head>
<body>
</body>
</html>
onload=函数()
{
这可能就是问题所在。您的输出是无效的。请删除脚本标记,它应该可以工作。这将失败,因为您没有用分号结束popup\u show(…)
。您正在生成的是popup\u show(…)popup\u show(…)popup\u show(…)popup\u show(…)
在这篇文章中没有看到jQuery标记。我认为跨浏览器事件处理的课程不适合这个问题。你仍然可以在没有库的情况下正确附加事件。对,使用attachEvent
或addEventListener
因为window.onload=
也是一种不好的做法。我在同意y之间左右为难ou(我本应该展示“正确”的方式)考虑到这样的细节会分散我对问题答案的注意力。大约一个月前,我也遇到过同样的困境。对我来说,学习的地方也是如此,其中一部分就是学习如何正确处理。虽然解释如何通过HTML属性附加事件更容易、更简短,但它只会导致同样的问题还有更多糟糕的编程。我知道OP显然是个新手,但如果我们总是迎合最低的公分母,他/她的理解将继续缺乏。在开始使用PHP创建弹出广告之前,你真的应该学习PHP的原理。他的PHP ot没有任何问题但是,在继续之前,他应该更加熟悉JavaScript。但是,我如何将$arr数组从主体传递到JavaScript函数呢?
<!-- This is not valid! -->
<body onload = "<script language = javascript> alert('Hello') <script>">
<body onload = "alert('Hello')">
<html>
<head>
<script type="text/javascript">
onload = function()
{
<?php
foreach($arr as $a)
{
echo " popup_show('$a', 'popup_drag', 'popup_exit', 'screen-top-left', 20, 20);\n";
}
?>
}
</script>
</head>
<body>
</body>
</html>