如何将字符串值从php页面发送到java脚本页面

how to send string value from php page to java script page

本文关键字:脚本 java php 字符串      更新时间:2023-09-26

我正在一个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;
}

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

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

但并没有一个语法给出结果。请给我提供正确的语法。

您必须使用echo命令:

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

您正试图在javascript中使用php变量。因为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>

只需这样做:

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>

所以在')">$actvitycode中必须插入或as或as。实际上是一样的。

如果你有什么问题,请写。。。