2012-11-14 25 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'