0

我需要通过在 php 变量中传递一个值来从 php 调用 javascript 函数。我的代码是这样的:

echo '<tr class="trlight"><td onclick="callVehicle('.$qry_vehicleid.');"><label>Call Vehicle</label>&nbsp;</td></tr>';

在 javascript 文件中,我尝试执行以下代码:

function callVehicle(vid)
{
alert('Call '+vid);
document.getElementById("SearchResult").style.visibility="hidden";
}

并发生错误test is not definedtest是我分配给变量的值$qry_vehicleid。有人可以指出错误是什么吗?

4

3 回答 3

1

尝试在插入的 PHP 变量周围添加引号。

echo '<tr class="trlight"><td onclick="callVehicle(\''.$qry_vehicleid.\'');"><label>Call Vehicle</label>&nbsp;</td></tr>';
于 2012-06-07T08:30:38.983 回答
1

你错过了几个引号,你在呼应的是:

<td onclick="callVehicle(test);">

你想要的是:

<td onclick="callVehicle('test');">

因为test是一个字符串参数。您的代码应该是:

echo '<tr class="trlight"><td onclick="callVehicle(\''.$qry_vehicleid.'\');"><label>Call Vehicle</label>&nbsp;</td></tr>';
于 2012-06-07T08:30:58.677 回答
1

将您的 PHP 代码更改为

echo '<tr class="trlight"><td onclick="callVehicle('.json_encode($qry_vehicleid).');"><label>Call Vehicle</label>&nbsp;</td></tr>';

如果您尝试使用其中已经包含引号的值,那么在您的值周围天真地添加引号会在某些时候咬住您。

于 2012-06-07T08:34:43.813 回答