由于多行中的数据,Salesforce中出现未终止的字符串文字错误

2022-02-25 00:00:00 javascript salesforce

我使用的是一个标准页面,上面有一个编写JavaScript代码的按钮。它正在调用控制器(类)。

当我使用单击按钮时,出现错误:

A problem with the OnClick JavaScript for this button or link was encountered:
unterminated string literal.

Javascript:

try
{
  alert('hi1');
}
catch(Err)
{
  alert('Error  in creation'+Err);
}

在搜索并进行了一些命中和试验之后,使用了上面的简单警报代码。

我发现了。无论您是否在JavaScript代码和类中使用特定字段,只要我使用的数据之间有一个新行空格,即多次使用数据,都会遇到这个错误。

我在这里发现了类似的问题:unterminated string literal error in salesforce 但以上链接中未指定解决方案。


解决方案

尝试将替身()或甚至URLENCODE()括在您的长文本字段值周围,然后从JS解码?

回到S-Control时代,我一直在作弊,将长文本值放在<p id="myId" style="visibility:hidden">{!mergefield}</p>中,然后用getElementById引用它们.

如果您真的从JS调用您的控制器,那么您可能有权控制换行符(用什么替换它们?)或者您不需要显示整个错误消息。也许是错误的细节?此外-将有助于正确使用JS调试工具.

相关文章