I have a custom field called Current_Address__c which is of datatype textarea.
I need to populate this field in the format below. ie a newline char after street and another newline after zip.
street
City state Zip
Country
The values of city state zip country etc are been taken from contact object. I dont want to use this as a formula field. So i need to populate it in my controller and display it on my VF page.
I am trying to add a newline char by using the code below
this.customobj.Current_Address__c = currentStreet + '\\n ' + currentCity + ' ' + currentState + ' ' + currentZIP + '\\n ' + currentCountry ;
i had also used \n instead of \n.
It still show the field in one line instead of 3 lines
EDIT
I got this working using the following code. I would accept mathews answer as it would work with outputfield.
currentAddress = currentStreet;
currentAddress += '\r\n';
currentAddress += currentCity + + ' ' + currentState + ' ' + currentZIP ;
currentAddress += '\r\n';
currentAddress += currentCountry;
This works only if you use +=.
not sure why this happens
I think I found the issue, you have two escape character slashes (
\\n), but only one is needed because the slash in\ndoes not need to be escaped in this context.Also, Salesforce saves a new line as
\r\n. Try this:This method works when using an
<apex:outputfield>with an sObject field.If you’re using a different Visualforce Component, it won’t work. Visualforce renders the new line in HTML when using a
<apex:outputtext>Component, but HTML ignores new lines. If you use a<br/>tag, Visualforce renders it as<br/>.The best solution I could come up with for rendering a variable that has new lines in it (rather than an sObject field) is to use a disabled
<apex:inputtextarea>.