2011-06-06 162 views
1

對不起,如果我做得身世愚蠢的,但我不能讓這個if語句的工作...IF語句不工作

它所做的是,它會檢查某些值從cookie,設置組合框默認值。

通過調試我可以看到所有的cookie變量都是正確的,但是IF語句似乎沒有讀取值?前兩個IF的工作正確,但最後一個 - 如果不起作用。

任何幫助非常感謝,謝謝

function checkBody() { 
    var cookie1 = readCookie("Text Colour"); 
    textCol = cookie1 ? cookie1 : "#444"; 

    var cookie2 = readCookie("Background Colour"); 
    backCol = cookie2 ? cookie2 : "white"; 

    var cookie3 = readCookie("Link Colour"); 
    linkCol = cookie3 ? cookie3 : "#0424B5"; 

    var cookie4 = readCookie("Heading1 Colour"); 
    heading1Col = cookie4 ? cookie4 : "#0424B5"; 

    var cookie5 = readCookie("Headings Colour"); 
    headingsCol = cookie5 ? cookie5 : "#99975A"; 

    var element = document.getElementById('colours'); 
    if(textCol == cookie1 && backCol == cookie2) 
     element.value = "#444,white,#0424B5,#0424B5,#99975A"; 
    else if(textCol == cookie1 && backCol == cookie2) 
     element.value = "black,yellow,black,black,black"; 
    else if(textCol == cookie1 && backCol == cookie2) 
     element.value = "black,#87CEFA,black,black,black"; 

    bodyStyle(textCol,backCol,linkCol,heading1Col,headingsCol); 
} 
+7

您的所有3 if語句使用完全相同的比較......('textCol == COOKIE1 && backCol == cookie2') – 2011-06-06 20:51:39

+0

「不工作」? – 2011-06-06 20:52:15

+3

我是一個白癡,我只是看不到,非常感謝。 – Cristian 2011-06-06 20:52:50

回答

4

所有if相同。後兩者從未到達。

... 
else if(textCol == cookie1 && backCol == cookie2) 
    element.value = "black,yellow,black,black,black"; 
else if(textCol == cookie1 && backCol == cookie2) 
    element.value = "black,#87CEFA,black,black,black"; 
... 
+0

非常感謝! – Cristian 2011-06-06 20:58:47

+0

@克里斯蒂安:你應該接受幫助你保持社區健康的答案:-)。 – 2011-06-06 21:04:13

+0

對不起,只好等6分鐘這樣做!全部完成:D再次感謝! – Cristian 2011-06-06 21:05:53