2013-06-11 49 views
3

我在手册“PHP和HTML”中找到了关于PHP.net的教程,并且有一个示例,Generating JavaScript with PHP使用PHP生成JavaScript

我正在尝试一个简单的演示版本,我自己学习如何做到这一点,以便稍后可以尝试更复杂的事情。现在,我只是试图在PHP中声明一个字符串变量(一个JPG文件的地址),然后通过JavaScript(在PHP脚本中创建)将IMG元素的src更改为这个新地址。

有人提出了一些JSON,我有一些经验,但只有在PHP文件中使用脚本发布到textfile。我不确定我是否可以使用GET请求或其他东西,但我确实没有任何线索。我只是不认为这会很复杂。

这里是我想要做到这一点的my page的链接。正如你所看到的,我实际上一直试图在PHP中创建JavaScript的对立面,而不是我试图将PHP嵌入到JavaScript中,而这正是某人最初向我建议的内容,而不是工作。所以这就是它的原因。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Demo</title> 

    <?php 



    $srcmsg = 'http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg'; 
    ?> 
    <script type="text/javascript"> 
    //<![CDATA[ 
    // 

    var msr = "<?php echo $srcmsg; ?>"; 

    window.onload = document.getElementsByTagName('img').src= msr; 
    //]]> 
    </script> 
    </head> 
    <body><img src="#" alt="Picture of the world" height="42" width="42" /> 
    </body> 
    </html> 

SOLUTION:这是由Orangepill和弗雷德发现.... 事实证明的一个大问题是我的方法服务器无法解析在HTML文件中的脚本,所以我不得不把它放在一个PHP文件中。那么在解释xml声明中的short_open标签时会出现问题。所以在这里是如何结束了它得到工作:记住这是一个PHP文件不热媒

<?php echo "<", 'xml version="1.0" encoding="UTF-8" standalone="no" ?'; ">\n"; ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Demo</title> 
<script type="text/javascript"> 
//<![CDATA[ 
// 

window.onload = function(){ 
var msr = '<?php $srcmsg = "http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg"; echo $srcmsg; ?>'; 

var x = document.getElementsByTagName('img')[0]; 

x.src = msr; 
} 
//]]> 
</script> 
</head> 
<body><img src="#" alt="Picture of the world" height="42" width="42" /> 
</body> 
</html> 

回答

4

getElementsByTagName返回节点列表(如对象数组),所以你要做的

window.onload = document.getElementsByTagName('img')[0].src= msr; 

做第一个图像。

0
<?php 
$srcmsg = 'http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg'; 
echo<<<_HTML 
<script type='text/javascript'> 
window.onload = document.getElementsByTagName('img').src= $srcmsg; 
</script> 
_HTML; 
?> 
+0

我不需要脚本的“type”属性吗?例如“text/javascript” – user1066524

+0

不是那么必要。如果你想要,你可以。 –

+0

@ user1066524我会建议你使用type属性... – pinkpanther