2014-01-14 28 views
1

我在Javascript中使用此代碼。但現在我有一個問題。該代碼檢查頁面是英文還是荷蘭文。但是當頁面是英文的時候。荷蘭語的功能也被執行。我怎樣才能解決這個問題?功能英語也進行

var theLanguage = $('html').attr('lang'); 
// Diferent language 
if (theLanguage === "en") { 
    function doCheckForm() { 
     el = document.getElementById('hoteliers'); 
     if (el) { 
      el.innerHTML = '<iframe name="' + document.hcomForm.hTarget.value + '" src="" width="100%" height="600" frameborder="0">'; 
     } 
    } 
} 

if (theLanguage === "nl") { 
    function doCheckForm() { 
     el = document.getElementById('hoteliers'); 
     if (el) { 
      el.innerHTML = '<iframe name="' + document.hcomForm.hTarget.value + '" src="" width="100%" height="600" frameborder="0">'; 
     } 
    } 
} 
+2

哪裏是doCheckForm的兩個變體之間的差異性()? – RononDex

+0

所以你有一個'lang'屬性的數組? –

+1

除了兩個(相同的?)函數定義...你沒有什麼可執行的: - ? –

回答

3

正如指出的那樣,doCheckForm()看起來都if語句相同。無論如何,我會建議你去掉的功能,做到這一點:

var theLanguage = $('html').attr('lang'); 

function doCheckForm() { 
    el = document.getElementById('hoteliers'); 

    if (el) { 
     el.innerHTML = '<iframe name="' + document.hcomForm.hTarget.value + '" src="" width="100%" height="600" frameborder="0">'; 
    } 
} 

// Diferent language 
if (theLanguage === "en") { 
    doCheckForm(); 
} else if (theLanguage === "nl") { 
    doCheckForm()  
} 
2

你的問題是雙重doCheckForm聲明。然後,您的腳本上下文解析通過瀏覽器JavaScript引擎函數init立即和第一次。函數初始化變量之後,但值僅分配給該代碼位置的變量,其中=運算符。

試試這個:

var theLanguage = $('html').attr('lang'); 

function doCheckForm() { 
    var el; 
    if (theLanguage === "en") { 
     el = document.getElementById('hoteliers'); 
     if (el) { 
      el.innerHTML = '<iframe name="' + document.hcomForm.hTarget.value + '" src="" width="100%" height="600" frameborder="0">'; 
     } 
    } else if (theLanguage === "nl") { 
     /* Note: code was the same in your example*/ 
     el = document.getElementById('hoteliers'); 
     if (el) { 
      el.innerHTML = '<iframe name="' + document.hcomForm.hTarget.value + '" src="" width="100%" height="600" frameborder="0">'; 
     } 
    } 
} 

doCheckForm(); 
相關問題