我创建了比特币(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>
答案 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}
]
}
]
}
答案 1 :(得分:0)