在php echo和javascript警报上变量不同

时间:2012-11-14 11:25:52

标签: php javascript

我有一个动态的多语言网站。 我的php回应当前的语言,但javascript甚至没有在正文后加载。

我的php:

<?php echo $language ?>

这给了我英语,葡萄牙语,德语或法语相应的正在使用的那个。

当我以这种方式尝试使用javascript时:

    <script type="text/javascript">
    function language() {
        var ci = {
            language : "<?php echo $language; ?>"
        };
        if(ci.language = 'portuguese') {
            alert(ci.language);
            return false;
            fb_language = "pt_PT";
        } else if (ci.language = 'english') {
            alert(ci.language);
            return false;
            fb_language = "en_US";
        } else if (ci.language = 'german') {
            alert(ci.language);
            return false;
            fb_language = "de_DE";
        } else if (ci.language = 'french') {
            alert(ci.language);
            return false;
            fb_language = "fr_FR";
        } else {
            fb_language = "en_US";
        }
    };
    </script>

<body onload="language();">

它总是在javascript中给我葡萄牙语,不能让它提醒正确的语言,但在php中它给了我正确的语言即时使用。

2 个答案:

答案 0 :(得分:5)

此:

if(ci.language = 'portuguese') {

应该是:

if(ci.language === 'portuguese') {

在其他if语句中等等。

答案 1 :(得分:1)

用作: ci.language == 'portuguese'代替ci.language = 'portuguese'