2014-02-18 24 views
0

我試圖將輸入的值存儲到變量中。現在,我只想將輸入值粘貼到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/

+0

改變的選擇下拉的執行時間,以「沒有包裝 - 在」 [小提琴](http://jsfiddle.net/6J4MN/1/) – Bic

+0

@Bic到底是什麼這樣做?它有效,但我只想知道它在做什麼,所以我可以實現它。 –

+1

您已將它設置爲onLoad,這意味着您的方法在頁面加載完成並且onclick已被綁定之後纔會定義。當頁面加載時,onclick方法不存在,因此沒有任何限制。如果您將其包裝在頭部,則內容將在頁面呈現之前加載,確保該方法在綁定時存在。 – Bic

回答

3

innerHTML的是更兼容,也改變fiddle頭代替的onload

這裏是一個整潔解決方案

Live Demo

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

由於平變化需要一個模糊觸發,用onkeyup立即改變:

Live Demo

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

注意 「的OnChange」 事件的文本框中會火一旦你輸入或離開文本框。如果您將事件更改爲鍵控,則會在您鍵入每個字母后更新該範圍。

<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>