如何从php页面发送字符串值到javascript页面

时间:2012-09-14 18:34:58

标签: php javascript

我将一个字符串值存储在一个php变量中。我想将此值发送到图像点击时的函数。这是代码

userfn.php

$actvitycode = "AG001";
<img src="phpimages/addicon.gif" onclick="showData('.$actvitycode.')"></img>



getdata.js

function showData(actcode)
{
  alert(actcode);
  document.getElementById("tasklist").value = actcode;
}

问题是,在图像上点击该功能没有调用。 仅供参考:如果我在$ actvitycode中存储整数值(例如:2342),则成功调用该函数并且警报显示结果。仅限字符串值的问题。我尝试了几种语法,如

onclick="showData("'.$actvitycode.'")"
onclick="showData($actvitycode)"

但是没有一种语法可以给出结果。请提供正确的语法。

4 个答案:

答案 0 :(得分:1)

您必须使用echo命令:

<?php $actvitycode = "AG001"; ?>
<img src="phpimages/addicon.gif" onclick="showData('<?php echo $actvitycode; ?>')"></img>

答案 1 :(得分:1)

<?php 
$actvitycode = "AG001";
// close php tag ?>
<img src="phpimages/addicon.gif" onclick="showData('<?php echo $actvitycode ?>')"></img>

答案 2 :(得分:1)

您正试图在php中使用javascript变量。这是不可能的,因为javascript是客户端(换句话说,在客户端浏览器中执行),php是服务器端(=在服务器上执行)。

<img src="phpimages/addicon.gif" onclick="showData('<?php echo $actvitycode ?>')"></img>

应该适用于这种情况。

请记住,<?php ?>标记中的代码在发送到客户端之前在服务器上执行(例如apache),而其余的标记和代码以及结果服务器端代码“按原样”发送到客户端以显示(如果是html或css)或执行(如果是脚本 - 例如javascript)。

代码实际上生成了一个javascript代码 - 如果是$activity = 'foo',代码会在showData函数调用中为参数生成一个常量:

<img src="phpimages/addicon.gif" onclick="showData('foo')"></img>

答案 3 :(得分:0)

只需这样做:

PHP文件:

<? $actvitycode = "AG001";?>
<img src="http://www.kafkabrigade.org.uk/wp-content/uploads/2011/07/button-pic.jpg" onclick="showData('<?=$actvitycode?>')"></img>

<? $actvitycode = "AG002";?>
<img src="http://www.kafkabrigade.org.uk/wp-content/uploads/2011/07/button-pic.jpg" onclick="showData('<?=$actvitycode?>')"></img>

<input type="input" id="tasklist" value="">

JS档案:

<script type="text/javascript" charset="utf-8">
    function showData(actcode) {
        alert(actcode);
        document.getElementById("tasklist").value = actcode;
    }
</script>

所以在')“&gt; $ actvitycode必须插入或者作为或者插入。实际上它是相同的。

如果您有疑问,请写信......