1

这样做的正确方法是什么?

$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,但这一直有效,直到我从输入文本更改为文本区域。

4

2 回答 2

1

问题是您使用引号来分隔 javascriptHTML 中的值。结果类似于: onClick="deletecmnt(this, "0", "someurl.html");" 这是无效的。此处的 onClick 被截断为 justonClick="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>";
于 2013-02-27T06:25:34.207 回答
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>';
于 2013-02-27T06:28:33.223 回答