货币转换器不在规定的限制范围内工作

时间:2017-02-09 21:20:10

标签: javascript jquery

我创建了比特币(BTC)加元(CAD)转换器,它使用来自不同站点的当前价格,现在我试图限制BTC / CAD输入可接受的值,但它不起作用。 我想设置的限制为CAD为2美元至99.99美元,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>

2 个答案:

答案 0 :(得分: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()(&#34;此&#34;作为输入的值) <input id="cadc" type="text" onchange="cadCheck(this)">CAD</input>

new html { employers:[ { name: "Mike", age: 20, services: [ {name:"cut",value:10}, {name:"hair_straightening",value:20} ]
},{ name: "Penny", age: 20, services: [ {name:"cut",value:10}, {name:"hair_straightening",value:20} ]
} ] }

这是我的代码https://jsfiddle.net/so7s9efr/

答案 1 :(得分:0)

不要故意成为“只是使用这个”的人,但货币转换是一个常见的,已解决的问题,并且有许多好的解决方案。

好的是money.js

正在研究一个小提琴解决方案,但保罗艾伦的工作正常。