这样做的正确方法是什么?
$chatterhtml .= '<span style="float:right;" >
<a href="javascript:void(0);" onClick="deletecmnt(this, "'.$val['id'].'", "'.BASE_URL.'");" title="Delete Chatter">x</a>
</span>';
我在Firefox SyntaxError: syntax error deletecmnt(this,
中收到错误,但这一直有效,直到我从输入文本更改为文本区域。
答案 0 :(得分:1)
问题在于您使用引号在HTML中的javascript AND 中分隔您的值。结果如下:
onClick="deletecmnt(this, "0", "someurl.html");"
这是无效的。 onClick在此处被截断为onClick="deletecmnt(this, "
,其余部分被视为无效的HTML属性数据
相反,你应该做类似的事情:
$chatterhtml .= "<span style=\"float: right;\">" .
"<a href=\"javascript:void(0);\" onclick=\"deletecmnt(this, '" . $val['id'] . "', '" . BASE_URL . "');\" title=\"Delete Chatter\">x</a>" .
"</span>";
答案 1 :(得分:1)
您的结果HTML无效。双引号内有双引号未转义。试试这个
$chatterhtml .= '<span style="float:right;" ><a href="javascript:void(0);" onClick="deletecmnt(this, \''.$val['id'].'\', \''.BASE_URL.'\');" title="Delete Chatter">x</a></span>';