脚本:
<script type="text/javascript"> function calculate() {
var myBox1 = document.getElementById('f5').value;
var myBox2 = document.getElementById('f6').value;
var result = document.getElementById('f8');
var myResult = myBox1 * myBox2;
result.value = myResult.toFixed(2);
}
F6定义为:
<p oninput="calculate()" id="f6" class="change change-btc-usd-cmc input-group-addon"><i>Indlæser</i></p>使用以下jquery后端:
$.getJSON( "https://api.coinmarketcap.com/v1/ticker/bitcoin/", function( data ) {
$.getJSON("https://api.fixer.io/latest?base=USD", function (data2) {
change['btc-usd-cmc'] = data[0]["price_usd"] * data2.rates["DKK"];
$(".change-btc-usd-cmc").text(change['btc-usd-cmc']);
$(".change-btc-usd-cmc").text(parseFloat(change['btc-usd-cmc']).toFixed(2));
loader(false)
updateData()
})f5的定义与html中的定义类似:
<input oninput="calculate()" type="text" class="form-control " id="f5" name="f5" value="" placeholder="eks. 5000"
data-rule-number="true"
data-rule-min="999"
data-rule-max="50000"
data-rule-required="true" data-msg-required="Dette felt er krævet. " />更改的定义为:
var change = {
"usd-vef-dt": null,
"btc-usd-cmc": null,
"rai-usd-cmc": null,
"eth-usd-cmc": null,
"btc-vef-lbtc": null,
"usd-vef-lbtc": null,
}我不明白为什么它返回NaN,它们都以数字结尾,所以这应该不是问题,因为jQuery后端使用了parsefloat,但它返回NaN。当编写两个oncalculate文本输入时,它可以完美地工作。
发布于 2018-02-02 20:39:52
嗯,f6是一个p元素,它没有值..因此,对于f6,值是undefined,而undefined * 1 === NaN
发布于 2021-11-09 19:25:09
可以使用parseInt(variable)解析整数中的文本框值或文本区域值,也可以使用parseFloat(variable)解析浮点数中的值
var myBox1 = document.getElementById('f5'); var myBox2 = document.getElementById('f6'); var result = document.getElementById('f8'); var myResult = parseFloat(myBox1.value) * parseFloat(myBox2.value);
试试这个,它对我很有效。
https://stackoverflow.com/questions/48582805
复制相似问题