Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

.rawValue format when using e-mail button (JavaScript help)

Avatar

Level 1

Hi

 

I have a form that users can enter text into a Text Field allowing multiple lines. For example:

 

"Paragraph 1 Text

 

Paragraph 2 Text"

 

I then have a button that sets up a draft e-mail and extracts the user entered text into the body of the e-mail, however it excludes the formatting. It comes out like ""Paragraph 1 TextParagraph 2 Text" (no spaces/enters)

 

The JavaScript I'm using has .rawValue but is there something else I can use? I've tried .formattedValue and .Value with no luck!

 

Example:

var Comment = this.resolveNode("form1.Page1.subformComments.txt_Question").rawValue;

.....

var cBody = "Dear team" + "\n" + "\n" +
"User entered text:" + Comment + "\n";

 

 

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

3 Replies

Avatar

Level 10

The rawValue is already fine. The spaces and linebreaks shouldn't be removed. If they are removed anyway then because of something else, that's going on in the form. Can you share it?

Avatar

Level 1

Thanks for your suggestion!

 

We managed to work it out in the end. The issue was that under Object > Field, we had set the field format to 'Plain Text' rather than 'Rich Text'. Changing that fixed it.

Avatar

Employee

Here is my guess: you are using mailto: to start the mail client and provide the &body in the URL?

In that case you need to encode the newlines differently such as

mailto:test@test.test?body=Dear team%0D%0DUser entered text: %0Dp1%0Dp2%0D%0Dp3%0D

If that is true try it like that:

 

var text = "mailto:test@test.test?body=Dear team" + "\n" + "\n" +
"User entered text: \n" + Comment + "\n";
cBody = text.replace(/\r?\n|\r/g,"%0D");