Итак, я заметил, что часть Javascript на моей странице VisualForce в некоторых случаях работала, а в других — нет. JS выполнял некоторые операции с полем textArea из одного из наших пользовательских объектов. Я понял, что JS ломается всякий раз, когда в этом поле textArea есть новая строка или символ возврата каретки (\n и \r).
В итоге я использовал метод replaceAll() в контроллере страницы и удалил все эти символы из этого поля textArea при загрузке страницы. К тому времени, когда он попал в JS, это была юридическая строка.
на СТРАНИЦЕ ВФ:
<script language="JavaScript">
function someFunction() {
var leftOver = 220;
if('{!shippingAddress.Delivery_Requirements__c}'.length > 0){
leftOver -= '{!shippingAddress.Delivery_Requirements__c}'.length;
}
}
</script>
в контроллере:
//a fix for the text area field - '\n' and '\r' breaks JS on the VF page
shippingAddress.Delivery_Requirements__c = shippingAddress.Delivery_Requirements__c.replaceAll('\r\n', ' ');
Публикую это в качестве предупреждения для всех, кто сталкивается с тем, что JS работает для одних записей, а не для других.
Если у вас есть понимание, почему он ломается, расскажите.