I具有这个按钮与一个onclick调用函数。 appr()上的值是从PHP变量动态生成的,因此值会更改。
return "<button type='button' onclick='appr(".$id.",\"".$qr['name']."\");'>Approve</button>";
哪个结果:
<button type='button' onclick='appr(3,"Dave O'Shea");'>Approve</button>
javascript函数如下所示。
function appr(id,name){
// some code here...
alert(name);
}
除了单引号引起故障的字符串外,该代码工作正常。任何想法,为什么?
更改:
return "<button type='button' onclick='appr(".$id.",\"".$qr['name']."\");'>Approve</button>";
收件人:
return '<button type="button" onclick="appr('.$id.',"'.$qr['name'].'");">Approve</button>';
你一定要逃逸[C0报价],您可以用$qr['name']
做:
addslashes
在代码中,单引号表示属性界限:
addslashes
所以第return "<button type='button' onclick='appr(".$id.",\"".addslashes($qr['name'])."\");'>Approve</button>";
附带之后将完成的属性值。
您可以通过更换[C0修复它] S与HTML实体结果在引号代替,使得所生成的HTML出来至
onclick='appr(
^
'
但是,这将是更好的,以避免内联处理完全和使用Javascript添加听众来代替。