2017-02-09 57 views
1

我創建了一個使用當前價格從另一個網站的加元(CAD)轉換器的比特幣(BTC),現在我試圖限制BTC/CAD輸入,但不起作用。 我想設置的限制是$ 2至$ 99.99爲CAD和BTC等效最大/最小,但它並不想工作...貨幣轉換器不能在定義的限制內工作

小提琴: https://jsfiddle.net/z735tswj/所有相關的代碼是在HTML標籤或下面

<input id="btcc" type="text" onkeyup="btcConvert()" onchange="btcCheck()">BTC</input> 

<input id="cadc" type="text" onkeyup="cadConvert()" onchange="cadCheck()">CAD</input> 
<br> 
<br> 

<script> 
    function btcConvert() { 
    var btc = document.getElementById("btcc").value; 
    var btcCalc = btc * price; 
    var btcCalc = btcCalc.toFixed(2); 
    document.getElementById("cadc").value = btcCalc; 
    btcCheck(); 
    } 

    function cadConvert() { 
    var cad = document.getElementById("cadc").value; 
    var cadCalc = cad/price; 
    var cadCalc = cadCalc.toFixed(8); 
    document.getElementById("btcc").value = cadCalc; 
    cadCheck(); 
    } 

    function btcCheck() { 
    if (btc.value < 0.001649) btc.value = 0.001649; 
    if (btc.value > 0.082259) btc.value = 0.082259; 
    btcConvert(); 
    } 

    function cadCheck() { 
    if (cad.value < 2) cad.value = 2; 
    if (cad.value >= 100) cad.value = 99.99; 
    cadConvert(); 
    } 

</script> 
+0

看看這個答案,你可能會發現它有幫助。 http://stackoverflow.com/questions/1384074/limit-input-box-to-0-100 –

+0

嘗試了幾個變化,它仍然無法正常工作.. https://jsfiddle.net/z735tswj/3/ – NipBoss

回答

2

得到它的工作,你的劇本不是輸入值傳遞給cadCheck()

我只是做了一些修改,以得到它的工作。 cadCheck()將在運行前得到輸入值cadConvert()

function cadCheck(input) { 
if (input.value < 2) input.value = 2; 
if (input.value >= 100) input.value = 99.99; 
cadConvert(); 
} 

我還拿出了onkeyup="cadConvert()因爲你在呼喚,在cadCheck()並添加this(「本」是輸入的值)onchange="cadCheck()

新的HTML <input id="cadc" type="text" onchange="cadCheck(this)">CAD</input>

這裏是我的代碼https://jsfiddle.net/so7s9efr/

+0

太棒了!非常感謝,我已經修復了btcCheck,現在它可以很好地工作。 – NipBoss

0

不要吝嗇是「只使用這個」傢伙,但貨幣轉換是一種常見的,解決問題,有許多優秀的解決方案出來那裏。

一個好的是money.js

是在一個小提琴解決方案的工作,但保羅·艾倫的作品很好。