2012-05-10 114 views
-2

在一个函数表示一个字符串,我使用的是在使用冒号

$itemid=1; 
$storeid=3; 
$status='rejected'; 

    <a class="blue" href="javascript:void(0);" onclick="status('.$itemid.','.$storeid.','.$status.')" > 

但存储字符的onclick功能,现在它显示在Firebug的错误

rejected is not defined 

    status(1, 3, rejected); 

我的感觉是,它应该通过字符串 - 拒绝作为

status(1,3,'rejected') 

我试图代表如下所示的功能

onclick="status('.$itemid.','.$storeid.','".$status."') 

但它不工作...任何一个可以建议该请的解决方案..

+2

请更简洁。你没有给出任何关于什么是PHP,什么是HTML,什么是JavaScript的迹象。此外,它似乎是一堆引号错误地逃脱。最后,你的示例代码是分散的;它需要上下文。请编辑和修复并期待更好的答案。 – teh1

回答

1

这应该工作(注意反斜杠逃脱报价)

<a class="blue" href="javascript:void(0);" onclick="status('.$itemid.','.$storeid.',\''.$status.'\')" > 
1

使用json_encode正确地创建一个转义字符串:

onclick="status($itemid, $storeid, '.json_encode($status).")"; 

这需要PHP 5.2。 0,并且$status的值是有效的UTF-8,但这些都不是问题。

+0

语法错误 status(1,3, – Nabe

+0

@Nabe:这只是一个例子,你没有完整地给出一行代码,所以没有语法错误并不奇怪。 – Jon