这三个需要识别的规则是X或Y,然后从它的位置和proporcion的类型(直接或反向)计算它。但由于某种原因,HTML中的页面会返回值" ERROR!" (在else条件下设置)。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input type="radio" id="inv">Inversamente</input>
<input type="radio" id="dir">Diretamente</input><br />
<input type="text" id="I1"></input>
<input type="text" id="I2"></input><br />
<input type="text" id="I3"></input>
<input type="text" id="I4"></input><br /><br />
<button id="button" onclick="button()">Calcular</button>
<script type="text/javascript">
function button() {
var i1 = parseInt(document.getElementById("I1"));
var i2 = parseInt(document.getElementById("I2"));
var i3 = parseInt(document.getElementById("I3"));
var i4 = parseInt(document.getElementById("I4"));
var i5 = document.getElementById("inv").value;
var i6 = document.getElementById("dir").value;
if (i1.value == "x" && i5.value === true || i1.value =="y" && i5.value === true){
var r1 = i3.value*i4.value/i2.value;
document.write("Resultado é " + r1);
}
else if (i1.value == "x" && i6.value === true || i1.value =="y" && i6.value === true) {
var r2 = i3.value*i2.value/i4.value;
document.write("Resultado é " + r2);
}
else if (i2.value == "x" && i5.value === true || i2.value =="y" && i5.value === true) {
var r3 = i3.value*i4.value/i1.value;
document.write("Resultado é " + r3);
}
else if (i2.value == "x" && i6.value === true || i2.value =="y" && i6.value ===true) {
var r4 = i1.value*i4.value/i3.value;
document.write("Resultado é " + r4);
}
else if (i3.value == "x" && i5.value === true || i3.value =="y" && i5.value === true) {
var r5 = i1.value*i2.value/i4.value;
document.write("Resultado é " + r5);
}
else if (i3.value == "x" && i6.value === true || i3.value =="y" && i6.value === true) {
var r6 = i1.value*i4.value/i2.value;
document.write("Resultado é " + r6);
}
else if (i4.value == "x" && i5.value === true || i4.value =="y" && i5.value === true) {
var r7 = i1.value*i2.value/i3.value;
document.write("Resultado é " + r7);
}
else if (i4.value == "x" && i6.value === true || i4.value =="y" && i6.value === true) {
var r8 = i2.value*i3.value/i1.value;
document.write("Resultado é " + r8);
}
else{
document.write("ERROR!");//whatever the case of the rule of the above, it aways return "ERROR!"
}
}
</script>
&#13;
对不起我的英语。我是巴西人。
答案 0 :(得分:0)
您在DOM元素上运行parseInt()
而不是元素的值,但您还要在其中任何一个输入中查找字符输入。我已经纠正了有关价值比较的问题,但如果未填写所有输入,您将收到NaN
回复。
更正了JS:
function button() {
var i1 = document.getElementById("I1");
var i2 = document.getElementById("I2");
var i3 = document.getElementById("I3");
var i4 = document.getElementById("I4");
var i5 = document.getElementById("inv");
var i6 = document.getElementById("dir");
console.log(i1.value);
console.log(i2.value);
console.log(i3.value);
console.log(i4.value);
console.log(i5.checked);
console.log(i6.checked);
if (i1.value == "x" && i5.checked === true || i1.value == "y" && i5.checked === true) {
var r1 = i3.value * i4.value / i2.value;
console.log("Resultado é " + r1);
} else if (i1.value == "x" && i6.value === true || i1.value == "y" && i6.value === true) {
var r2 = i3.value * i2.value / i4.value;
console.log("Resultado é " + r2);
} else if (i2.value == "x" && i5.value === true || i2.value == "y" && i5.value === true) {
var r3 = i3.value * i4.value / i1.value;
console.log("Resultado é " + r3);
} else if (i2.value == "x" && i6.value === true || i2.value == "y" && i6.value === true) {
var r4 = i1.value * i4.value / i3.value;
console.log("Resultado é " + r4);
} else if (i3.value == "x" && i5.value === true || i3.value == "y" && i5.value === true) {
var r5 = i1.value * i2.value / i4.value;
console.log("Resultado é " + r5);
} else if (i3.value == "x" && i6.value === true || i3.value == "y" && i6.value === true) {
var r6 = i1.value * i4.value / i2.value;
console.log("Resultado é " + r6);
} else if (i4.value == "x" && i5.value === true || i4.value == "y" && i5.value === true) {
var r7 = i1.value * i2.value / i3.value;
console.log("Resultado é " + r7);
} else if (i4.value == "x" && i6.value === true || i4.value == "y" && i6.value === true) {
var r8 = i2.value * i3.value / i1.value;
console.log("Resultado é " + r8);
} else {
console.log("ERROR!"); //whatever the case of the rule of the above, it aways return "ERROR!"
}
}