Итак, я заметил, что часть Javascript на моей странице VisualForce работала в некоторых случаях, а не в других. JS выполнял некоторые операции над полем textArea из одного из имеющихся у нас пользовательских объектов. Я понял, что JS ломается всякий раз, когда в этом поле textArea есть новая строка или символ возврата каретки (\ n и \ r).
Итак, я использовал метод replaceAll () в контроллере страницы и удалил все эти символы из этого поля textArea при загрузке страницы. К тому времени, когда он добрался до JS, это была законная строка.
на странице VF:
<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, работает для некоторых записей, а не для других.
Если вы понимаете, почему он ломается, скажите.