2011-06-06 124 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