我创建了一个使用其他站点上的当前价格的比特币(BTC)转换为加拿大元(CAD)的转换器,现在我试图限制BTC / CAD输入可接受的值,但是它不起作用。
我想设置的上限是2美元到99.99美元的CAD和等同于max / min的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>
最佳答案
一切正常,您的脚本未将输入值传递给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()
(“ this”是输入值)。新的HTML
<input id="cadc" type="text" onchange="cadCheck(this)">CAD</input>
这是我的代码https://jsfiddle.net/so7s9efr/
关于javascript - 货币转换器无法在定义的限制内工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42147078/