正确的onclick格式

时间:2013-02-27 06:20:07

标签: javascript jquery

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

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

2 个答案:

答案 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>';