需要在变化时将输入值存储到变量

时间:2014-02-18 21:13:45

标签: javascript html

我试图将输入的值存储到变量中。现在,我想将输入值粘贴到span元素中,以便我知道它有效。但是我无法在我的JSFIDDLE中使用它。有什么建议吗?

HTML:

<label>Advertising Budget:</label>
                <input id="advertising" onchange="updateAdvertising(this.value)">  </input>
<span id="test">xxx</span>

使用Javascript:

function updateAdvertising(adv){
    document.getElementById('test').innerText = adv;
}

JSFIDDLE:http://jsfiddle.net/6J4MN/

2 个答案:

答案 0 :(得分:3)

innerHTML更兼容,也将fiddle更改为head而不是onload

这是一个更简洁的解决方案

Live Demo

window.onload=function() { 
  document.getElementById("advertising").onchange=function(){
    document.getElementById('test').innerHTML = this.value;
  }
}

由于onchange需要触发模糊,因此请使用onkeyup进行即时更改:

Live Demo

window.onload=function() { 
  document.getElementById("advertising").onkeyup=function(){
    document.getElementById('test').innerHTML = this.value;
  }
}

答案 1 :(得分:1)

注意&#34; OnChange&#34;一旦您点击进入或离开文本框,文本框的事件就会触发。如果您将事件更改为,例如键盘,它将在您键入的每个字母后更新范围。

<script type='text/javascript'>//<![CDATA[ 
  window.onload=function(){

    function addEvent(element, evnt, funct){
       if (element.attachEvent)
         return element.attachEvent('on'+evnt, funct);
       else
         return element.addEventListener(evnt, funct, false);
    };

    addEvent(document.getElementById('advertising')
        , 'change'
        , function () { updateAdvertising(this.value); }
    );

   var updateAdvertising = function(adv){
      document.getElementById('test').innerText = adv;
   };
 };
</script>