我需要通过 php 变量中传递一个值来从 php 调用一个 javascript 函数。我的代码是这样的:
echo '<tr class="trlight"><td onclick="callVehicle('.$qry_vehicleid.');"><label>Call Vehicle</label> </td></tr>';
在javascript文件中,我尝试执行以下代码:
function callVehicle(vid)
{
alert('Call '+vid);
document.getElementById("SearchResult").style.visibility="hidden";
}
并发生错误test is not defined
。 test
是我分配给变量 $qry_vehicleid
的值。有人可以指出错误是什么吗?
尝试在插入的 PHP 变量周围添加引号。
echo '<tr class="trlight"><td onclick="callVehicle('''.$qry_vehicleid.''');"><label>Call Vehicle</label> </td></tr>';
你缺少几个引号,你回声的是:
<td onclick="callVehicle(test);">
你想要的是:
<td onclick="callVehicle('test');">
因为test
是一个字符串参数。您的代码应该是:
echo '<tr class="trlight"><td onclick="callVehicle('''.$qry_vehicleid.''');"><label>Call Vehicle</label> </td></tr>';
将 PHP 代码更改为
echo '<tr class="trlight"><td onclick="callVehicle('.json_encode($qry_vehicleid).');"><label>Call Vehicle</label> </td></tr>';
如果您尝试使用已经包含引号的值,那么天真地在您的值周围添加引号会在某个时候咬您。