从 php 调用参数化的 JavaScript 函数


Calling a parameterized javascript function from php

我需要通过 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 的值。有人可以指出错误是什么吗?

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

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

你缺少几个引号,你回声的是:

<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>';

将 PHP 代码更改为

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

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