2016-03-27 194 views
0

所以我試着讓它所以在我輸入這是在1000最大化和最小化0.10基本上時候,它由0.98的JavaScript更改HTML元素的輸入

這裏是改變輸入的給定輸出的元素,則我至今:

 <div id="dicegame"> 
     <div id="diceholder"> 
      <h1> 
      <div id="diceroller"> 
       <span id="value" class="lable_value">0</span> 
      </div> 
      </h1> 
      <h3> 
       <div class="winchance">1 - 6</div> 
      </h3> 
     </div> 
     <div id="inputholder"> 
     <div id="input"> 

      <div class="betamount"> 
      <b>Gems to bet:</b> 
      </div> 
      <form class="input-money"> 
       <b><input id="bet" onkeyup="edValueKeyPress()" type="number" name="bet" style="color: #404040;" class="form-control" min="0.10" step="any" max="1000.00" value="1.00"></b> 
      </form> 
      <div class="profitamount"> 
      <b>Profit:<b> 
      </div> 
      <div id="profit"> 
      </div> 
      <script> 
       var input = document.getElementsByClassName("form-control") 
       function myFunction() 
       { 
        x=document.getElementsByClassName("profit"); // Find the elements 
        for(var i = 0; i < x.length; i++){ 
         x[i].innerText=input * 0.98; // Change the content 
        } 

       } 

      </script> 
+0

這裏的完整代碼也是該網站的預覽:http://csgodice.net16.net/ –

+1

什麼用代碼的問題是什麼? – Teemu

+0

它不這樣做。如果你在網站上試試它沒有更新,我只是希望它將元素輸出到不同的元素中,但它乘以0.98 –

回答

2

你這裏有四個主要問題:

  1. 您正在使用getElementsByClassName當你分配profit作爲id
  2. 你沒有得到來自任何地方input
  3. 你忘了匹配函數名,
  4. onkeyup事件只通過鍵盤來觸發,您使用的範圍,所以你要使用oninput所以這個被觸發過當點擊箭頭時。

這裏是一個版本的代碼與這四個問題的解決方案:

<div id="dicegame"> 
    <div id="diceholder"> 
    <h1> 
     <div id="diceroller"> 
     <span id="value" class="lable_value">0</span> 
     </div> 
    </h1> 
    <h3> 
     <div class="winchance">1 - 6</div> 
    </h3> 
    </div> 
    <div id="inputholder"> 
    <div id="input"> 

     <div class="betamount"> 
     <b>Gems to bet:</b> 
     </div> 
     <form class="input-money"> 
     <b><input id="bet" oninput="edValueKeyPress()" type="number" name="bet" style="color: #404040;" class="form-control" min="0.10" step="any" max="1000.00" value="1.00"></b> 
     </form> 
     <div class="profitamount"> 
     <b>Profit:</b> 
     </div> 
     <div id="profit"> 
     </div> 
    </div> 
    </div> 
</div> 
<script> 
    var input = document.getElementsByClassName("form-control"); 
    function edValueKeyPress(event) 
    { 
    var input = document.getElementById("bet").value; 
    var x = document.getElementById("profit"); // Find the elements 
    x.innerText= input * 0.98; // Change the content 

    } 

</script> 

https://jsfiddle.net/j02rbyyd/1/

編輯

爲了能在輸入框中輸入整數名並輸出你將首先修改輸入bet所以它不需要浮點數和函數,所以它返回一個整數:

<input id="bet" oninput="edValueKeyPress()" type="number" name="bet" style="color: #404040;" class="form-control" min="1" step="any" max="1000.00" value="1"> 

x.innerText= Math.floor(input * 0.98); 

檢查在https://jsfiddle.net/gdmdgwwh/

+0

謝謝:)是否有可能使它取消小數點/浮點值,並始終保持在框內? –

+0

您想在整個利潤中使用整數結果還是隻在整個輸入範圍內保留整數值? –

+0

在 –