2017-02-09 73 views
1

我抓住https://api.bitcoinaverage.com/ticker/global/CAD/的最後一個交易值,並想將其更新到輸入文本框中,但無論我嘗試什麼,它都不會顯示出來。把價值直接放入輸入文本框的形式?

這裏有一個小提琴

https://jsfiddle.net/h9w5tj8m/2/

var xbtc = new XMLHttpRequest(); 
xbtc.open('GET', 'https://api.bitcoinaverage.com/ticker/global/CAD/', true); 
xbtc.onreadystatechange = function() { 
    if (xbtc.readyState == 4) { 
    var ticker = JSON.parse(xbtc.responseText); 
    price = ticker.last; 
    document.getElementById('btc').innerHTML = price; 
    document.getElementById('cad').innerHTML = price; 
    } 
}; 
xbtc.send(); 
+1

使用'document.getElementById('cad')。value = price;'代替 –

+0

解決了這個問題。謝謝。 – NipBoss

回答

1

updated fiddle

使用,而不是

document.getElementById('cad').value

document.getElementById('cad').innerHTML

只需瞭解與用戶交互的元素input,select,textarea全部用value調用即可從元素中獲取數據。

所有其他元素的是附加電話與innerHTML使用value屬性將放置ü檢索到具有特定ID的特定文本框中的值從元素獲取數據

also refer different between .value and .innerHTML

var xbtc = new XMLHttpRequest(); 
xbtc.open('GET', 'https://api.bitcoinaverage.com/ticker/global/CAD/', true); 
xbtc.onreadystatechange = function() { 
    if (xbtc.readyState == 4) { 
    var ticker = JSON.parse(xbtc.responseText); 
    price = ticker.last; 
    document.getElementById('btc').innerHTML = price; 
    document.getElementById('cad').value = price; 
    } 
}; 
xbtc.send(); 
+0

明白了,謝謝!你能解釋爲什麼它不適用於innerHTML嗎? – NipBoss

+0

@NipBoss查看更新的答案。 – prasanth

0

有 「文本框」 中沒有輸入類型。您需要將其更改爲「文本」或使用<textarea></textarea>。您可以使用.value.innerHTML.value設置文本輸入的值。

這撥弄正常工作:https://jsfiddle.net/h9w5tj8m/4/

0

。例如:

<input type ="textbox " id="a"> 
    </input> 
    <script> 
document.getElmentById("a").value=x; 
</script> 
    //x is the variable where the retrieved data is stored. 
0

試試這個

document.getElementById('cad').value = price; 
+4

歡迎來到堆棧溢出:-) 請看[答]。您應該提供一些信息,說明爲什麼您的代碼可以解決問題。 僅有代碼的答案對社區沒有用處。 – JimHawkins