在Smarty中调用JS函数时出现“未终止的字符串文字”错误

时间:2012-12-18 10:32:36

标签: javascript smarty

当我尝试从Smarty页面调用Javascript函数时,我收到此错误。我知道错误通常是什么 - 但我不明白为什么会发生这种情况。

以下列方式调用抛出错误的函数:

<a href='#' onClick="showActualSize({$id_product},'{$realsize|escape:'htmlall'}');">Actual Size</a>

在这种情况下,变量具有以下值;

$ id_product = 544; $ realsize =“英制:LR14公制:MN1400”;

我使用escape:'htmlall'来逃避$realsize中可能出现的任何特殊字符,但是,如您所见,此示例中没有任何字符。

但是,当我查看页面源代码时,$realsize变量中似乎有新行,因为源代码如下所示:

<li><a href='#' onClick="showActualSize(544,'Imperial: LR14
Metric: MN1400
');">Actual Size</a></li>

我是否正在查看导致错误的一些隐藏字符?我怎么能绕过这个?

1 个答案:

答案 0 :(得分:1)

使用{$realsize|escape:'htmlall'|escape:javascript}通过删除导致它的新行字符来修复此问题。