Expand my Community achievements bar.

SOLVED

What is incorrect in this function ?

Avatar

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

Avatar

Correct answer by
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

Avatar

Correct answer by
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

Avatar

Employee 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 

Avatar

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);

Avatar

Employee Advisor

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

Avatar

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

Avatar

Level 2

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