Dynamically change captcha language

I'm having problems with the displayLang variable scope. I would like to use the value inside the function, but it continues to use the global one. Any help would be appreciated. Thank.

I call this function from another script, for example changeCaptchaLang ('FR').

<script type="text/javascript">
var displayLang = 'en';

function changeCaptchaLang(lang) {
    displayLang = lang.toLowerCase();
}

var RecaptchaOptions = {
    theme : 'clean',
    lang : displayLang,
 }

+4
source share
1 answer

File 1:

<script type="text/javascript">
var lang = 'FR';

lang = changeCaptchaLang(lang);
alert(lang + " " + RecaptchaOptions['lang']); // result: "fr fr"
</script>

File 2:

var displayLang = 'EN';

var RecaptchaOptions = {
    theme : 'clean',
    lang : displayLang,
}

function changeCaptchaLang(lang)
{
    displayLang = lang.toLowerCase();
    RecaptchaOptions['lang'] = displayLang;
    return displayLang;
}

If I am not mistaken, displayLang in this function has a new value only inside the function, but outside it it still has the same old value.

Let me know how this happens!

+1
source

All Articles