我需要通过在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
的值。有人可以指出错误是什么吗?
答案 0 :(得分:1)
尝试在插入的PHP变量周围添加引号。
echo '<tr class="trlight"><td onclick="callVehicle(\''.$qry_vehicleid.\'');"><label>Call Vehicle</label> </td></tr>';
答案 1 :(得分:1)
你错过了几个引号,你回应的是:
<td onclick="callVehicle(test);">
你想要的是:
<td onclick="callVehicle('test');">
因为test
是一个字符串参数。你的代码应该是:
echo '<tr class="trlight"><td onclick="callVehicle(\''.$qry_vehicleid.'\');"><label>Call Vehicle</label> </td></tr>';
答案 2 :(得分:1)
将PHP代码更改为
echo '<tr class="trlight"><td onclick="callVehicle('.json_encode($qry_vehicleid).');"><label>Call Vehicle</label> </td></tr>';
如果您尝试使用已经包含引号的值,那么在您的值周围添加引号会在某些时候咬你。