2013-03-05 59 views
0

我有一个颜色选择器:的Javascript文本框的值

HTML:

<input type="button" id="msg" name="msg" value="msg"> 
<label for="background-color">Choose a calor for background : </label> 
<input id="background-color" type="color" value="#ff0000" onchange="javascript:document.getElementById('chosen-color').value = document.getElementById('background-color').value;"/> 



<label for="chosen-color">You have chosen : </label> 
<input id="chosen-color" type="text" value="#ff0000"/> 

的JavaScript:

document.getElementById('msg').addEventListener('click', function() { 
      alert (colorPicker); 
      }, false); 

    //Color Picker  
    var colorPicker = (document.getElementById('chosen-color').value); 

消息框只是显示的默认值FF0000当我点击按钮消息框,即使它显示不同的值。我如何让它显示实际价值?

+2

为什么当你使用纯JavaScript时,这被标记为jQuery? – Johan 2013-03-05 20:44:13

回答

1

你永远不会实际更新colorPicker值。

document.getElementById('msg').addEventListener('click', function() { 
    alert (document.getElementById('chosen-color').value); 
}, false); 
-1

试试这个:

的document.getElementById( '#味精')的addEventListener( '点击',函数(){ 警报(取色);} ,FALSE);

//Color Picker  
var colorPicker = (document.getElementById('#chosen-color').value); 
+1

这是不正确的恐怕 – Pointy 2013-03-05 20:45:27

+0

'getElementById'不使用CSS选择器语法。 -1 – 2013-03-05 20:50:50

0

试试这个:

document.getElementById('msg').addEventListener('click', function() { 
      alert (colorPicker.value); 
      }, false); 

    //Color Picker  
    var colorPicker = (document.getElementById('chosen-color')); 

的问题是,你不更新的ColorPicker的价值它改变了。

0

colorPicker未得到更新。您还应该考虑不要使用onchange=""并将其与另一个事件侦听器一起使用。

var colorPicker = document.getElementById('chosen-color'); 

document.getElementById('msg').addEventListener('click', function() { 
      alert (colorPicker.value); 
     }, false); 

document.getElementById('background-color').addEventListener('change', function() { 
      colorPicker.value = this.value; 
     }, false);