Javascript 创建一个乘法输入并继续除法
我是javascript的初学者,我想创建一个遵循公式的输入 (细胞计数/体积)x稀释 体积=长度x宽度x高度 我已尝试使用下面的代码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
<!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谢谢:)