Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

What is incorrect in this function ?

sc203718
Level 2
Level 2

I have this error:

TypeError: s.replace is not a function

68:Doc:Init

This is the code that generates the error:

function EL(s)

{

var sir = "";

sir = s.replace(/[&]/g,"&amp;");                            <<<---------------------- this is the error line

sir = sir.replace(/["]/g,"&quot;");

sir = sir.replace(/[“]/g,"&quot;");

sir = sir.replace(/[”]/g,"&quot;");

sir = sir.replace(/[']/g,"&apos;");

  

return sir;

}

I am a newbie in javascript and adobe livecycle designer...what is causing the error ? What should i do

1 Accepted Solution
Magus069
Correct answer by
Level 10
Level 10

Hi there,

everything seems syntactically correct, so I would say make sure that the parameter 's' is a string...

Hope this will help

View solution in original post

6 Replies
Magus069
Correct answer by
Level 10
Level 10

Hi there,

everything seems syntactically correct, so I would say make sure that the parameter 's' is a string...

Hope this will help

View solution in original post

Mayank_Gandhi
Community Advisor
Community Advisor

Please try updating script to below:

var sir = "";

sir=this.rawValue;

sir = sir.replace(/[&]/g,"&amp;");                          

sir = sir.replace(/["]/g,"&quot;");

sir = sir.replace(/[“]/g,"&quot;");

sir = sir.replace(/[”]/g,"&quot;");

sir = sir.replace(/[']/g,"&apos;");

Thanks,

Mayank 

Magus069
Level 10
Level 10

This seem to be working fine for me...

ensure that this.rawValue is in fact returning the value desired...

use app.alert(this.rawValue);

Mayank_Gandhi
Community Advisor
Community Advisor

I have updated the script that was posted in the question originally, mine is working one

_Bruce_Robertson
Level 10
Level 10

Hi,

I think Magus069 is correct, s will either be null or some other object that doesn't have a replace method, such as a number.

Bruce

sc203718
Level 2
Level 2

Thanks i solved it, i have to call the .toString() method on the variable