2017-06-02 61 views
-1

字體真棒不工作,當我嘗試改變使用JavaScript的元素的值。字體真棒不工作的JavaScript設置值

的Javascript:爲按鈕

function onClick() { 
    document.getElementById("dicebutton").value='Rolling <i class="fa fa-refresh fa-spin fa-3x fa-fw" aria-hidden="true"></i>'; 
} 

HTML代碼:

<form> 
      Bet<br> 
      <input type="text" name="bet"><br> 
      Chance<br> 
      <input type="text" name="chance"><br> 
      <h3>Payout: 0.0000BTC</h3> 
      <input value = "Roll dice" id="dicebutton" onClick="onClick()" type="button" style="vertical-align:middle"></input> 
     </form> 

結果: enter image description here

通知鏈接怎麼吐出原始的HTML,而該網站的頂部正確顯示字體?我怎樣才能解決這個問題?

+0

'的document.getElementById( 「dicebutton」)的innerHTML ='滾動軸承';' –

+0

當您使用'.innerHTML'時,它會清理出該按鈕中的任何內容。如果這個按鈕裏面還有另一個元素或者一個重要的類,那麼函數可以掛鉤的元素現在已經消失了。順便說一句,我假設你在做HTML5,所以輸入沒有結束標籤''。 '

回答

2

使用element.innerHTML = content;語法如果你想添加HTML。 「.value」僅將數據作爲字符串傳遞。

所以

document.getElementById("dicebutton").innerHTML='Rolling <i class="fa fa-refresh fa-spin fa-3x fa-fw" aria-hidden="true"></i>'; 

編輯: 我才意識到你正在使用的<輸入>字段中輸入按鈕。這在這種情況下不會起作用。輸入> <輸入字段的唯一值可用於更改按鈕文本,值爲您嘗試的值。不幸的是,「價值」將分配給它的任何東西視爲一個字符串。

相反的<輸入>字段中,您需要使用您可以將HTML到一個元素 - 例如,一個<一>標籤,<按鈕>標籤,或者乾脆使用樣式的div作爲一個按鈕。這將允許您將HTML傳遞給它,而不必使用「值」。

+0

當我將值更改爲innerHTML時,按鈕在單擊時奇怪地不會更新任何文本(儘管id相同)。 – JavaC3code

+0

更新了我的答案 – Korgrue

0

使用<button>標籤,而不是<input>和改變 document.getElementById("dicebutton").valuedocument.getElementById("dicebutton").innerHTML

0

必須使用的,而不是輸入按鈕按鈕,然後更新innerHTML的內容。

實施例:

使用Javascript:

function onClick() { 
    // you can you "this.innerHTML" too 
    document.getElementById("dicebutton").innerHTML='Rolling <i class="fa fa-refresh fa-spin fa-3x fa-fw" aria-hidden="true"></i>'; 
} 

HTML:

<button id="dicebutton" onclick="onClick()" style="vertical-align:middle">Roll dice</button> 
+0

工作。將接受作爲答案。 – JavaC3code