1,105,242 Community Members

Call a external js function into another js function

Member Avatar
Walfort d'Ax
Newbie Poster
5 posts since Apr 2006
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

Dear All,

In my "Javascripts\english" folder I have language related javascript files. In one of these files there is a function I want it to get the return value of a function getChangedDate() from a general Javascript file called changes.js in my "Javascripts" folder.
I also want to use the same getChangedDate() function in from my "Javascripts\français", "Javascripts\italiano", "Javascripts\deutsch", "Javascripts\nederlands", ... folders.

How can I get this return value?
Someone suggested this soluton:

load("../changes.js") ;
changedDate = getChangedDate() ;

I also tried
load("/Javascripts/changes.js") ;
changedDate = getChangedDate() ;

or
load("\Javascripts\changes.js") ;
changedDate = getChangedDate() ;

or
load("..\changes.js") ;
changedDate = getChangedDate() ;

Non of these work, probably because there is not such a thing as a standard load() function.

Member Avatar
alpha_foobar
Junior Poster
182 posts since May 2005
Reputation Points: 5 [?]
Q&As Helped to Solve: 5 [?]
Skill Endorsements: 0 [?]
 
0
 

There are several things you can do... for example it is possible to dynamically add and remove html nodes from your page using javascript. But I find this isn't particularly quick (sometimes you need to wait before you try and call a newly loaded script - using setTimeout or similar).

But I think there are a couple of simple solutions to your problem - either using some kind of server side technology to decide on language and draw the page to fit... or write a global interface to your language files. So you only have one function getChangedDate() , but this calls a specific getChangedDate() based on a global variable.. i.e.

function getChangedDate() { changedDate = (language == english)?getEnglishChangedDate():getFrenchChangedDate() ; }

Another solution I'd like is to use JavaScript Classes. This would give you the ability to keep the method naming, but you'd still need some logic...

function getChangedDate() { changedDate = (language == english)?English.getChangedDate():French.getChangedDate() ; }

I'd say the best practise would be to use a server side based solution, unless this is not available to you.

Member Avatar
Walfort d'Ax
Newbie Poster
5 posts since Apr 2006
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

There are several things you can do... for example it is possible to dynamically add and remove html nodes from your page using javascript. But I find this isn't particularly quick (sometimes you need to wait before you try and call a newly loaded script - using setTimeout or similar).

But I think there are a couple of simple solutions to your problem - either using some kind of server side technology to decide on language and draw the page to fit... or write a global interface to your language files. So you only have one function getChangedDate() , but this calls a specific getChangedDate() based on a global variable.. i.e.

function getChangedDate() { changedDate = (language == english)?getEnglishChangedDate():getFrenchChangedDate() ; }

Another solution I'd like is to use JavaScript Classes. This would give you the ability to keep the method naming, but you'd still need some logic...

function getChangedDate() { changedDate = (language == english)?English.getChangedDate():French.getChangedDate() ; }

I'd say the best practise would be to use a server side based solution, unless this is not available to you.

Thanks for your reply,
It's worth studying your suggestion

You
This article has been dead for over three months: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article