2011-08-27 39 views
-3

我想在一些Javascript代码中包含一些PHP来编辑div的innerHTML。
当我使用的代码PHP内的Javascript?

$content = file($filename); 
$name = $content[0]; 
<script type="text/javascript"> 
function showMoon1() 
{ 
var MD = document.getElementById('m1t'); 
MD.innerHTML = "<font face='Georgia'><table border="0"><tr><th><?php echo $name; ?></th></tr><tr><td>Rating: rating</td></tr><tr><td>Review: review</td></tr><tr><td>Category: category</td></tr><tr><td>Link: <a href='http://youtube.com'>welcome</a></td></tr></table></font>"; 
} 
</script> 
<div id="m1t"></div> 
<a href="#" onClick="showmoon1()">CLICK HERE</a> 

出于某种原因,当我点击“点击这里”链接,没有任何反应。我将完整的代码编辑为一个简短的例子,所以我不知道错误是否出现。我所知道的是,当我用content[0];代码使用PHP变量时,它不起作用。当我尝试$name = "hi";它的作品。 什么?
请不要投下这个问题,因为它是特定的。谢谢。

+7

你这种方式不能混合使用PHP和JavaScript。您需要在''符号中包装PHP –

+0

如果您尝试var_dump($ content)作为该脚本中的第三行,您会看到什么? – gargantuan

+5

** - 1 **没有关闭和打开(?>,<?php)标签,使用'标签和表格进行21世纪布局,换行符在{在JS中。 –

回答

0
<?php 
$content = file($filename); 
$name = $content[0]; 
?> 
<script type="text/javascript"> 
function showMoon1() 
{ 
var MD = document.getElementById('m1t'); 
MD.innerHTML = "<font face='Georgia'><table border="0"><tr><th><?php echo $name; ?></th></tr><tr><td>Rating: rating</td></tr><tr><td>Review: review</td></tr><tr><td>Category: category</td></tr><tr><td>Link: <a href='http://youtube.com'>welcome</a></td></tr></table></font>"; 
} 
</script> 
<div id="m1t"></div> 
<a href="#" onClick="showmoon1()">CLICK HERE</a> 

更正确

2

你缺少一个右PHP标记您的脚本之前:

... 
$content = file($filename); 
$name = $content[0]; 
// You were missing this tag 
?> 
<script type="text/javascript"> 
function showMoon1() 
{ 
var MD = document.getElementById('m1t'); 
MD.innerHTML = "<font face='Georgia'><table border="0"><tr><th><?php echo $name; ?></th></tr><tr><td>Rating: rating</td></tr><tr><td>Review: review</td></tr><tr><td>Category: category</td></tr><tr><td>Link: <a href='http://youtube.com'>welcome</a></td></tr></table></font>"; 
} 
</script> 
<div id="m1t"></div> 
<a href="#" onClick="showmoon1()">CLICK HERE</a> 
1
  • 保持的JavaScript在单独的文件中。
  • 不要附上HTML事件,你可以在上面提到的JS文件中做到这一点。

而不是疯狂,你应该使用JavaScript的XHR来从PHP脚本请求自定义内容。

2

PHP是服务器端,JavaScript是客户端。你需要相应地处理它们。需要被包裹在

<?php 
... 
?> 
0

在点击您所呼叫showmoon1()所有的PHP代码,你已经定义showMoon1()。 两个函数名不匹配.. 同样的innerHTML字符串被中间由于在B部分双引号关闭/ W 在:边界=“0”,将其更改为边界=“0”

<script type="text/javascript"> 
function showmoon1() 
{ 
alert(1); 
var MD = document.getElementById('m1t'); 
MD.innerHTML = "<font face='Georgia'><table border='0'><tr><th><?php echo $name; ?></th></tr><tr><td>Rating: rating</td></tr><tr><td>Review: review</td></tr><tr><td>Category: category</td></tr><tr><td>Link: <a href='http://youtube.com'>welcome</a></td></tr></table></font>"; 
} 
</script>