使用冒号表示函数中的字符串


Denoting a string in a function using colon

我正在使用一个存储字符的onclick函数

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

但是现在它显示了Firebug中的错误

  rejected is not defined
  status(1, 3, rejected);

我的感觉是它应该传递字符串 - 被拒绝为

status(1,3,'rejected')

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

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

但它不起作用...任何人都可以为此提出解决方案吗?

这应该有效(注意反斜杠以转义引号)

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

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

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

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