2015-10-15 105 views
-2

程序唯一的问题是没有选择颜色,颜色总是黑色,我将单选按钮更改为单个文本输入元素并且它工作,所以错误必须是相关的到单选按钮。单选按钮颜色选择器

function hello() { 
    var name = document.getElementById("name").value; 
    var para = document.getElementById("para"); 

    var myColor = ""; 

    var color = { 
     green: document.getElementById("green"), 
     blue: document.getElementById("blue"), 
     red: document.getElementById("red") 
    } 

    switch (color) { 

     case color.green.checked: 
      myColor = "green"; 
      break; 

     case color.blue.checked: 
      myColor = "blue"; 
      break; 

     case color.red.checked: 
      myColor = "red"; 

     default: 
      myColor = "black" 

    } 

    para.style.color = myColor; 

    if (name == "") { 
     para.innerHTML = "Incorrect Input"; 
    } else { 
     para.innerHTML = "Hello " + name + "!"; 
    } 

} 

回答

0

切换使用您比较键值与案例。在这个代码中,它不等于任何一种情况,所以他选择了默认值。

试试这个:

myColor = "black" 

if(color.green.checked) 
    myColor = "green"; 
else if(color.blue.checked) 
    myColor = "blue"; 
else if(color.red.checked) 
    myColor = "red"; 

para.style.color = myColor;