【发布时间】:2012-07-16 22:26:12
【问题描述】:
我无法在包含大量 PHP 和 JavaScript 的页面上更改变量。
这部分对我来说很好用:
<script language="javascript" type="text/javascript">
function changebg(my)
{
document.getElementById("imglayer").style.backgroundImage ='url('+ my.src +')';
document.getElementById("cropframe").style.backgroundImage ='url('+ my.src +')';
}
var test2 = new String("url('+ my.src +')");
</script>
<img src="../../uploads/595MCoDFyArFFe.jpg" width="50" height="50" onclick="changebg(this)" >
<img src="../../uploads/P6l6J8aqzli6gh.jpg" width="50" height="50" onclick="changebg(this)" >
<img src="../../uploads/stXWS8fL4L3nvs.jpg" width="50" height="50" onclick="changebg(this)" >
稍后调用 div ID。
我的问题是我需要动态更改另一个变量:
<script type="text/javascript">
var test1 = new String( "<?php $src_name = '" );
var test2 = new String( "956ENbXjzTlkBo.jpg" );
var test3 = new String( "'; // modify this, original file?>");" );
document.write( String( test1, test2, test3 );
</script>
我需要var test2 来更改其他两个被 div ID 抓取的内容。
如何更改该字符串值?这甚至可能吗?
任何帮助将不胜感激!
【问题讨论】:
-
不能将
var test1 = new String("<?php $src_name = '");简单地称为var test1 = "<?php $src_name = '";? -
顺便说一句,不要将对象声明为使用字符串,只需执行
var testetc = "string goes here";。 -
你不能随意混合 PHP 和 JS 代码。我不明白你想达到什么目的?
-
看起来您的第二个 JavaScript sn-p 只执行了一次,即遇到
<script>标记。因此,即使您动态更改变量test2的值,一旦执行了document.write,新值也不会产生任何影响。 -
PHP 和 JS 在不同的时间和不同的环境中执行。 PHP是服务器语言,在服务器上执行,然后发送到客户端。在客户端执行 javascript。这些语言应该通信的唯一方式是通过 xml http 请求、websockets 或类似的。
标签: javascript string function variables getelementbyid