неопределенная строковая литеральная ошибка в salesforce - PullRequest
1 голос
/ 26 апреля 2011

Я пытаюсь получить значение из класса salesforce в переменную javascript.Я могу получить значение, если это однострочное значение, но если его многострочное текстовое поле, оно дает неопределенную строковую литеральную ошибку

caseUpdate.Description = "{!ac__c.C_Info__c}";

После поиска в Google в течение некоторого времени я узнал, что у нас может быть обходной путь для этогоимея скрытое поле и используя DOM для его хранения, используя document.getElement.Id.Но я вызываю этот код по нажатию кнопки, чтобы я не смог создать входной текст или значение скрытого поля.Любой орган, который может предоставить способ сделать это?

Спасибо, Пради

Ответы [ 3 ]

1 голос
/ 25 октября 2012

У вас должна быть возможность использовать стандартную функцию Salesforce JSENCODE (), если вы используете OnClick Javascript в кнопке.Это позволит избежать любых персонажей для вас.

См. документацию .

0 голосов
/ 25 июля 2013

У меня была такая же проблема, но я смог ее исправить!Хитрость заключается в функции JSENCODE.В основном это {! JSENCODE (Obj.Field)} "; Таким образом, вы заменяете свое поле слияния этой функцией и вкладываете само поле слияния в функцию. В моем сценарии я закончил с opptyObj.Description =" {! JSENCODE (Case.Description)} "; как мой общий синтаксис. Сначала вызывается мой заданный объект и поле, а затем объединяются данные для его заполнения.

0 голосов
/ 26 апреля 2011

Это из-за разрывов строк.Поля слияния выводятся неэкранированными в выходной поток, что означает, что CRLF вставляют в новую строку и разбивают строки javascript.Либо используйте трюк div / input, либо используйте Apex, чтобы заменить \r\n в поле на <br/>, или что-либо лучше всего подходящее для этой цели.Также имейте в виду, что «также прервет вашу строку JS.

Самый простой способ - просто включить функцию в ваше расширение, а затем использовать ее по всем направлениям

public String FixNewLine(String s) {
    if (s != null) return s.replaceAll('\r\n', '<br/>').replaceAll('"', '\\"');
    return null;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...