javascript
  • recaptcha
  • 2016-04-30 6 views 4 likes 
    4

    ここでは、displayLang変数スコープに問題があります。私は関数内の値を使用したいと思いますが、グローバルな値を使用し続けます。どんな助けもありがとう。ありがとうございました。動的にcaptcha言語を変更する

    私はchangeCaptchaLang( 'FR')のような別のスクリプトからこの関数を呼び出しています。

    <script type="text/javascript"> 
    var displayLang = 'en'; 
    
    function changeCaptchaLang(lang) { 
        displayLang = lang.toLowerCase(); 
    } 
    
    var RecaptchaOptions = { 
        theme : 'clean', 
        lang : displayLang, 
    } 
    

    答えて

    1

    ファイル1:

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

    ファイル2:

    var displayLang = 'EN'; 
    
    var RecaptchaOptions = { 
        theme : 'clean', 
        lang : displayLang, 
    } 
    
    function changeCaptchaLang(lang) 
    { 
        displayLang = lang.toLowerCase(); 
        RecaptchaOptions['lang'] = displayLang; 
        return displayLang; 
    } 
    

    私は間違っていない場合は、その関数内displayLangは、唯一の関数内で新たな価値を持っていますが、それの外にはまだ同じ古い値です。

    どうすればいいか教えてください!

    +0

    これは動作しますが、私の問題は、ページ言語に基づいて言語変数を渡すことによって別のスクリプトからこの関数を呼び出していることです。すなわち、 changeCaptchaLang(pageLanguage)または何か。ここで言語としてfrを渡すと、渡された言語は無視され、フランス語にデフォルトされます。 – NepCoder

    +0

    @NepCoderコードを編集しました。これはあなたがやりたいことですか?私はあなたが正しく質問しているかどうか分からないので、私は推測しようとしました。 –

    +0

    私は非常に申し訳ありませんが、私は非常に明確ではなかったが、これは動作し、私が探しているものです。あなたの忍耐と助けをありがとう、ありがとうございます。 – NepCoder

    関連する問題