VisualforceページのJavascriptが一部のケースで動作していて、 JSは私たちが持っているカスタムオブジェクトの1つからtextAreaフィールド上でいくつかの操作を行っていました。 textAreaフィールドに改行文字または改行文字がある場合(\ nと\ r)JSが改行されていることに気付きました。JavaScriptでビジュアルフォースのページで作業していない場合文字列に改行文字が含まれている場合
私はページコントローラーでreplaceAll()メソッドを使用し、これらの文字をすべてページロード時のtextAreaフィールドから削除しました。それがJSに来るまでには、それは合法的な文字列でした。 JSは、他人のために一部のレコードのために働いていない遭遇した人のためのヘッドアップとしてこれを投稿
//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', ' ');
:コントローラで
<script language="JavaScript">
function someFunction() {
var leftOver = 220;
if('{!shippingAddress.Delivery_Requirements__c}'.length > 0){
leftOver -= '{!shippingAddress.Delivery_Requirements__c}'.length;
}
}
</script>
:
VFページ上。
なぜそれが壊れているかについての洞察がある場合は、教えてください。
構文は+ジェレミー・ロス・サイスのようなものです:VARのdeliveryRequirements = "{!JSENCODE(shippingAddress.Delivery_Requirements__c)}"; –