[英]How to handle input data on button press?
I have the following code which runs but not the way it should. 我有下面的代码运行,但不是应该的方式。 The user has to select a value from the drop-down list then, depending on the value selected, an area will be computed using the data in the
input
fields. 用户必须从下拉列表中选择一个值,然后根据选择的值,使用
input
字段中的数据来计算面积。 The switch
works fine because I can see the alert but the area returned ( aria1
/ aria2
) is shown as NaN. switch
工作正常,因为我可以看到警报,但是返回的区域( aria1
/ aria2
)显示为NaN。
FIDDLE HERE: https://jsfiddle.net/aLgvwq3r/ 在这里找到: https ://jsfiddle.net/aLgvwq3r/
Select "Forma 1" and insert some values. 选择“ Forma 1”并插入一些值。 Instead of NaN I should be getting a value for that area after I press the button.
按下按钮后,我应该获取该区域的值而不是NaN。
It looks like it is not values from the inputs. 看起来它不是来自输入的值。 What should I do?
我该怎么办?
function arie1() {
var lungC = parseFloat(document.getElementById('lungC').value);
var latC = parseFloat(document.getElementById('latC').value);
var hC = parseFloat(document.getElementById('hC').value);
var hBaza = parseFloat(document.getElementById('hTotal').value);
var latBaza = parseFloat(document.getElementById('latBaza').value);
var aria1 = 2 * lungC * latC + 2 * lungC * hTotal + 2 * latBaza * (hC + hTotal) + 2 * 0.5 * lungC + 0.5 * latBaza + 5; //se vor lua 5m2 de rezerva si se va mentiona pe site sa se mai adauge o marja de eroare
document.getElementById('mpv').innerHTML = aria1;
document.getElementById('mp').style.display = 'block';
}
function arie2() {
var lungC = parseFloat(document.getElementById('lungC').value);
var latC = parseFloat(document.getElementById('latC').value);
var hC = parseFloat(document.getElementById('hC').value);
var hBaza = parseFloat(document.getElementById('hTotal').value);
var latBaza = parseFloat(document.getElementById('latBaza').value);
aria2 = parseFloat(lungC * latC + 2 * lungC * hTotal + 2 * latBaza * (hC + hTotal) + 2 * 0.5 * lungC + 0.5 * latBaza + 5); //se vor lua 5m2 de rezerva si se va mentiona pe site sa se mai adauge o marja de eroare
document.getElementById('mpv').innerHTML = aria2;
document.getElementById('mp').style.display = 'block';
}
function switcherForma() {
switch (parseInt(document.getElementById('select-forma').value, 10)) {
case 1:
alert("Ati ales Forma 1");
document.getElementById('f1').style.color = "red";
document.getElementById('calculeaza').addEventListener('click', arie1);
break;
case 2:
break;
case 3:
break;
}
}
Heree you go , 你来了,
Let me know if this is what you wanted 让我知道这是否是您想要的
Replace your arie1
function with this: 用
arie1
代码替换您的arie1
函数:
function arie1() {
var lungC = parseFloat(document.getElementById('lungC').value);
var latC = parseFloat(document.getElementById('latC').value);
var hC = parseFloat(document.getElementById('hC').value);
var hBaza = parseFloat(document.getElementById('hTotal').value);
var latBaza = parseFloat(document.getElementById('latBaza').value);
var aria1 = lungC + latC + hC + hBaza + latBaza;
document.getElementById('mpv').innerHTML = aria1;
document.getElementById('mp').style.display = 'block';
console.log(aria1);
}
When you calculate the result the variable hTotal
is not a number, but an element. 计算结果时,变量
hTotal
不是数字,而是元素。 Change the calculation to this and it works for me: 将计算更改为此,它对我有用:
2*lungC*latC + 2*lungC*hTotal.value + 2*latBaza*(hC+hTotal.value) +2*0.5*lungC + 0.5*latBaza + 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.