Expand my Community achievements bar.

SOLVED

Execute JS in subject variable

Avatar

Level 1

Hello,

In a delivery template, in the text version, we use this code to retrieve the subject dynamically:

<% document.write(delivery.mailParameters.subject); %>

The problem is that if there is javascript inside the subject, it is not executed.

For instance, if the subject is : <%=recipient.firstName%>, how are you doing?

It won't execute the firstname variable and will display the all thing as plain text.

Is there any means for avoing this issue?

Thank you very much for your help!

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi,

This is working for me both in subject line and body of the email. Please find the process screens below and post your screenshots, if you are still facing this problem

s_ncs_user_wizard_email_object.png

s_ncs_user_wizard_email01_139.png

s_ncs_user_wizard_email01_140.png

Thanks,

Rajesh

View solution in original post

3 Replies

Avatar

Level 10

Hi,

I'm not sure that what's in the text version of an email can be interpreted other than as plain text.

If you find a solution, please post it here for reference. I'll try to ask around in the meantime.

Florent

Avatar

Correct answer by
Employee

Hi,

This is working for me both in subject line and body of the email. Please find the process screens below and post your screenshots, if you are still facing this problem

s_ncs_user_wizard_email_object.png

s_ncs_user_wizard_email01_139.png

s_ncs_user_wizard_email01_140.png

Thanks,

Rajesh

Avatar

Level 2

Hi,

If you use a typologie rule which consider the content of your delivery text content, you will able to add your script in this content.

//script in your rule

var txtStr = delivery.content.text.source;

delivery.content.text.source = '<% document.write(delivery.mailParameters.subject); %>' + txtStr;

Return true;

I don't know if your Javascript don't work in the text context but, it's ok in the html context.

This answer can help you ?

Christophe