Javascript 创建一个乘法输入并继续除法

Javascript 创建一个乘法输入并继续除法,javascript,math,input,arithmetic-expressions,multiplication,Javascript,Math,Input,Arithmetic Expressions,Multiplication,我是javascript的初学者,我想创建一个遵循公式的输入 (细胞计数/体积)x稀释 体积=长度x宽度x高度 我已尝试使用下面的代码 <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>Cell Count</title> </head> <body> <form> Cell Count : <input ty

我是javascript的初学者,我想创建一个遵循公式的输入

(细胞计数/体积)x稀释

体积=长度x宽度x高度

我已尝试使用下面的代码

<!DOCTYPE html>
<html> 
<head>
<meta charset=utf-8 />
<title>Cell Count</title> 
</head>
<body>
<form>
Cell Count : <input type="text" id="cell-count" /><br>
Box Count : <input type="text" id="box-count" /><br>
Dilution : <input type="text" id="dilution" /><br>
Length : <input type="text" id="lgh" /><br>
Width : <input type="text" id="wdh" /><br>
Height : <input type="text" Value="0,1" id="hgt" /><br>
<input type="button" id="count" Value="Cell Count" />
</form>
<p>Results : <span id = "results"></span> </p>

<script> 
var num1 = document.getElementById("cell-count").value;
num2 = document.getElementById("box-count").value;
num3 = document.getElementById("dilution").value;
num4 = document.getElementById("lgh").value;
num5 = document.getElementById("wdh").value;
num6 = document.getElementById("hgt").value;
count = document.getElementById('count');
results = document.getElementById('results');

count.onclick = function(){
if(num1.value && num3.value && num4.value && num5.value && num6.value) {
var volume = num2 * ( num4 * num5 * num6 );
result_count = num1 / volume * num3;
results.innerHTML = funcRound(result_count);
} else {
results.innerHTML = "Please insert values";
}
}
</script>
</body>
</html>

细胞计数
细胞计数:
盒数:
稀释度:
长度:
宽度:
高度:
结果:

var num1=document.getElementById(“单元格计数”).value; num2=document.getElementById(“框计数”).value; num3=document.getElementById(“稀释”).值; num4=document.getElementById(“lgh”).value; num5=document.getElementById(“wdh”).value; num6=document.getElementById(“hgt”).value; count=document.getElementById('count'); 结果=document.getElementById('results'); count.onclick=函数(){ if(num1.value&&num3.value&&num4.value&&num5.value&&num6.value){ var体积=num2*(num4*num5*num6); 结果_计数=num1/体积*num3; results.innerHTML=funcRound(结果计数); }否则{ results.innerHTML=“请插入值”; } }
上面的代码不符合我的预期,代码有什么问题吗

为了更清楚我的错误,请在这里帮助我


请提供帮助。

您已经从元素中获取了
value
属性

var num1=document.getElementById(“单元格计数”).value

然后再次访问此行中的
属性:

if(num1.value&&num3.value&&num4.value&&num5.value&&num6.value)

相反,只需使用:


if(num1&&num3&&num4&&num5&&num6)

您只获取一次输入值,而不是在每次提交表单时轮询它们

<!DOCTYPE html>
<html> 
<head>
    <meta charset=utf-8 />
    <title>Cell Count</title> 
</head>
<body>
    <form>
        Cell Count : <input type="text" id="cell-count" /><br>
        Box Count : <input type="text" id="box-count" /><br>
        Dilution : <input type="text" id="dilution" /><br>
        Length : <input type="text" id="lgh" /><br>
        Width : <input type="text" id="wdh" /><br>
        Height : <input type="text" Value="0,1" id="hgt" /><br>
        <input type="button" id="count" Value="Cell Count" />
    </form>
    <p>Results : <span id = "results"></span> </p>

    <script> 
    count.onclick = function(){
        var cellCount = document.getElementById("cell-count").value,
            boxCount = document.getElementById("box-count").value,
            dilution = document.getElementById("dilution").value,
            length = document.getElementById("lgh").value,
            width = document.getElementById("wdh").value,
            height = document.getElementById("hgt").value,
            count = document.getElementById('count'),
            results = document.getElementById('results');


        if(cellCount && dilution && length && width && height) {
            var volume = boxCount * ( length * width * height );
            var result_count = (cellCount / volume) * dilution;
            results.innerHTML = funcRound(result_count);
        } else {
            results.innerHTML = "Please insert values";
        }
    }
    </script>
</body>
</html>

细胞计数
细胞计数:
盒数:
稀释度:
长度:
宽度:
高度:
结果:

count.onclick=函数(){ var cellCount=document.getElementById(“单元格计数”).value, boxCount=document.getElementById(“框计数”).value, 稀释=document.getElementById(“稀释”).value, 长度=document.getElementById(“lgh”).value, 宽度=document.getElementById(“wdh”).value, 高度=document.getElementById(“hgt”).value, count=document.getElementById('count'), 结果=document.getElementById('results'); if(细胞计数、稀释、长度、宽度和高度){ var体积=箱数*(长度*宽度*高度); var结果_计数=(细胞计数/体积)*稀释; results.innerHTML=funcRound(结果计数); }否则{ results.innerHTML=“请插入值”; } }
Fuzzyzilla解决您的问题。脚本标记中的代码在页面首次加载时执行。所以你的num1.value,num3.value。。。如果它们都未定义,则事件处理程序在使用它们之前不会重新评估它们。 从一开始,只需将你正在做的事情或期望的事情记录下来,就可以找到事情开始混乱的确切位置


还有未定义的结果_计数(初始值已更正)

请清楚您遇到了哪些错误,您可以从控制台检查什么
num4
??始终使用正确的变量名@ShobiPP请检查这里,@JonasW。我尝试了另一个变量的名称,但是sameThank你,但是仍然不能工作,请检查这里谢谢,但是仍然不能工作,请检查这里谢谢,但是仍然不明白你的意思,请检查这里@KKoku谢谢:)