Javascript 货币转换器没有';我不能在规定的限度内工作

Javascript 货币转换器没有';我不能在规定的限度内工作,javascript,jquery,Javascript,Jquery,我创建了一个比特币(BTC)到加拿大元(CAD)的转换器,它使用不同站点的当前价格,现在我试图限制BTC/CAD输入的可接受值,但它不起作用。 我想为CAD设置的限制是$2到$99.99,为max/min设置的BTC等效值,但它不想工作 小提琴: 所有相关代码都在html选项卡或下面 <input id="btcc" type="text" onkeyup="btcConvert()" onchange="btcCheck()">BTC</input> <inpu

我创建了一个比特币(BTC)到加拿大元(CAD)的转换器,它使用不同站点的当前价格,现在我试图限制BTC/CAD输入的可接受值,但它不起作用。 我想为CAD设置的限制是$2到$99.99,为max/min设置的BTC等效值,但它不想工作

小提琴: 所有相关代码都在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>
BTC
计算机辅助设计


函数btcConvert(){ var btc=document.getElementById(“btcc”).value; var btcCalc=btc*价格; var btcCalc=btcCalc.toFixed(2); document.getElementById(“cadc”).value=btcCalc; btcCheck(); } 函数cadConvert(){ var cad=document.getElementById(“cadc”).value; var cadCalc=cad/价格; var cadCalc=cadCalc.toFixed(8); document.getElementById(“btcc”).value=cadCalc; cadCheck(); } 函数btcCheck(){ 如果(btc.value<0.001649)btc.value=0.001649; 如果(btc.value>0.082259)btc.value=0.082259; btcConvert(); } 函数cadCheck(){ 如果(cad.value<2)cad.value=2; 如果(cad.value>=100)cad.value=99.99; cadConvert(); }
运行正常,您的脚本没有将输入值传递到
cadCheck()

我只是做了一些编辑来让它工作
cadCheck()
将在运行
cadConvert()
之前获取输入值

函数cadCheck(输入){
如果(input.value<2)input.value=2;
如果(input.value>=100)input.value=99.99;
cadConvert();
}
我还取出了
onkeyup=“cadConvert()
,因为您正在
cadCheck()
中调用它,并将
this
(“this”是输入值)添加到
onchange=“cadCheck()

新html
CAD

这是我的代码

我并不想成为“只使用这个”的家伙,但货币兑换是一个常见的、已解决的问题,有很多好的解决方案

好的是


我正在研究小提琴解决方案,但保罗·艾伦的很好。

看看这个答案,你可能会发现它很有用。尝试了几个变体,但仍然不起作用。。伟大的非常感谢,我已经修复了btcCheck,现在它在两方面都很好。
function cadCheck(input) { 
 if (input.value < 2) input.value = 2;
 if (input.value >= 100) input.value = 99.99;
 cadConvert();
 }