2017-02-09 85 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

是在一个小提琴解决方案的工作,但保罗·艾伦的作品很好。