2012-11-14 23 views
1

我有一个动态的多语言网站。 我的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中使用它给了我正确的语言IM。

+1

要分配,不进行比较。两个等号。 – Jon

+2

1. =!= == && ==!= ===,2. http://www.w3schools.com/js/js_switch.asp – Hannes

+0

谢谢大家的快速回答。 :D – JonnyDevv

回答

5

此:

if(ci.language = 'portuguese') { 

应该是:

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

等都在其他if语句。

+0

非常感谢你,这么愚蠢的问题。这可以关闭。 – JonnyDevv

+0

不客气,我的朋友。下次考虑将它发布在[代码评论](http://codereview.stackexchange.com/)上。 – Carlos

1

用途为:的 ci.language == 'portuguese'代替ci.language = 'portuguese'