[英]How to handle input data on button press?
我有下面的代碼運行,但不是應該的方式。 用戶必須從下拉列表中選擇一個值,然后根據選擇的值,使用input
字段中的數據來計算面積。 switch
工作正常,因為我可以看到警報,但是返回的區域( aria1
/ aria2
)顯示為NaN。
在這里找到: https ://jsfiddle.net/aLgvwq3r/
選擇“ Forma 1”並插入一些值。 按下按鈕后,我應該獲取該區域的值而不是NaN。
看起來它不是來自輸入的值。 我該怎么辦?
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;
}
}
你來了,
讓我知道這是否是您想要的
用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);
}
計算結果時,變量hTotal
不是數字,而是元素。 將計算更改為此,它對我有用:
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.