它是一个长度转换器,出于某种原因,它就像 if 条件。这是代码:
let output_result = document.getElementById('output');
let input_value;
let inputtype;
let input_unit_type;
let output_unit_type;
var outputtype;
function convert() {
input_value = parseFloat(document.getElementById('number_input').value);
input_unit_type = parseInt(document.querySelector('input[name="unitconverting"]:checked').value);
output_unit_type = parseInt(document.querySelector('input[name="unitconverted"]:checked').value);
//Convert Imperial Units to Inches
switch (input_unit_type) {
case 1:
{
output_value = input_value * 12;
inputtype = "imperial";
break;
};
case 2:
{
output_value = input_value;
inputtype = "imperial";
break;
};
case 3:
{
output_value = input_value * 36;
inputtype = "imperial";
break;
};
case 4:
{
output_value = input_value * 63360;
inputtype = "imperial";
break;
};
//Convert Metric Units to centimeters
// 1 inch = 2.54 cm.
//M to CM
case 5:
{
output_value = (input_value * 100);
inputtype = "metric";
break;
};
//CM to CM
case 6:
{
output_value = input_value;
inputtype = "metric";
break;
};
//MM to CM
case 7:
{
output_value = (input_value / 10);
inputtype = "metric";
break;
};
//KM to CM
case 8:
{
output_value = (input_value * 100000);
inputtype = "metric";
break;
};
default:
{
alert("Error Occurred :(");
break;
};
};
switch (output_unit_type) {
case 1:
{
outputtype = "imperial";
break;
};
case 2:
{
outputtype = "imperial";
console.log("2");
break;
};
case 3:
{
outputtype = "imperial";
console.log("3");
break;
};
case 4:
{
outputtype = "imperial";
console.log("4");
break;
};
case 5:
{
outputtype = "metric";
console.log("5");
break;
};
case 6:
{
outputtype = "metric";
console.log("6");
break;
};
case 7:
{
outputtype = "metric";
console.log("7");
break;
};
case 8:
{
outputtype = "metric";
console.log("8");
break;
};
default:
{
alert("Error Occurred :(");
console.log("9");
break;
};
};
switch (inputtype) {
case "metric":
{
//convert input to inches if output is in imperial
if (outputtype = "imperial") {
output_value /= 2.54;
//convert input to imperial output
switch (output_unit_type) {
case 1:
{
output_value /= 12;
break;
};
case 2:
{
break;
};
case 3:
{
output_value /= 36;
break;
};
case 4:
{
output_value /= 63360;
break;
};
}
} else if (outputtype = "metric") {
//Converting input in centimeters to output with its metric unit
switch (output_unit_type) {
case 5:
{
output_value /= 100;
break;
};
case 6:
{
break;
};
case 7:
{
output_value *= 10;
break;
};
case 8:
{
output_value /= 1000;
break;
};
}
} else {
alert("Error Occurred :(")
}
};
//--------------------------------------------------------------------------
case "imperial":
{
if (outputtype = "metric") {
output_value = (output_value * 2.54);
//convert input to centimeters
switch (output_unit_type) {
case 5:
{
output_value = (output_value / 100);
break;
};
case 6:
{
break;
};
case 7:
{
output_value = (output_value * 10);
break;
};
case 8:
{
output_value = (output_value / 100000);
break;
};
}
} else if (outputtype = "imperial") {
switch (output_unit_type) {
case 1:
{
output_value /= 12;
break;
};
case 2:
{
break;
};
case 3:
{
output_value /= 36
break;
};
case 4:
{
output_value /= 63360;
break;
};
}
} else {
alert("Error Occurred :(")
}
};
}
};
function test() {
console.log("testing: " + output_value);
console.log("testing 2: " + input_value);
console.log(output_unit_type);
console.log(input_unit_type);
console.log("Important: " + outputtype);
console.log(inputtype);
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Metric Converter</title>
<!--<link rel="stylesheet" href="style.css">-->
</head>
<body>
<main>
<form>
<h1>Metric Converter</h1>
<div>
<h2>Convert From: </h2>
<p id="error"></p>
<p id="output"></p>
<label for="number_input">Input # of units:
<input type="number" step="any" title="Please Input numerical values" id="number_input" required></input>
</label>
<fieldset>
<h3>Imperial</h3>
<label for="feet1"><input id="feet1" type="radio" name="unitconverting" class="unitconverting" required value=1>Feet</input></label>
<label for="inch1"><input id="inch1" type="radio" name="unitconverting" class="unitconverting" value=2>Inches</input></label>
<label for="yard1"><input id="yard1" type="radio" name="unitconverting" class="unitconverting" value=3>Yards</input></label>
<label for="mile1"><input id="mile1" type="radio" name="unitconverting" class="unitconverting" value=4>Miles</input></label>
<h3>Metric</h3>
<label for="meter1"><input id="meter1" type="radio" name="unitconverting" class="unitconverting" required value=5>Meters</input></label>
<label for="centi1"><input id="centi1" type="radio" name="unitconverting" class="unitconverting" value=6>Centimeters</input></label>
<label for="milli1"><input id="milli1" type="radio" name="unitconverting" class="unitconverting" value=7>Millimeters</input></label>
<label for="kilo1"><input id="kilo1" type="radio" name="unitconverting" class="unitconverting" value=8>Kilometers</input></label>
</fieldset>
<h2>Convert to:</h2>
<fieldset>
<h3>Imperial</h3>
<label for="feet2"><input id="feet2" type="radio" name="unitconverted" class="unitconverted" required value=1></input>Feet</label>
<label for="inch2"><input id="inch2" type="radio" name="unitconverted" class="unitconverted" value=2>Inches</input></label>
<label for="yard2"><input id="yard2" type="radio" name="unitconverted" class="unitconverted" value=3>Yards</input></label>
<label for="mile2"><input id="mile2" type="radio" name="unitconverted" class="unitconverted" value=4>Miles</input></label>
<h3>Metric</h3>
<label for="meter2"><input id="meter2" type="radio" name="unitconverted" class="unitconverted" value=5>Meters</input></label>
<label for="centi2"><input id="centi2" type="radio" name="unitconverted" class="unitconverted" value=6>Centimeters</input></label>
<label for="milli2"><input id="milli2" type="radio" name="unitconverted" class="unitconverted" value=7>Millimeters</input></label>
<label for="kilo2"><input id="kilo2" type="radio" name="unitconverted" class="unitconverted" value=8>Kilometers</input></label>
</fieldset>
<button type="button" onclick='convert()'>Convert</button>
<button type="button" onclick='test()'>Test Button</button>
</div>
</form>
</main>
<script src="index.js"></script>
</body>
</html>
我尝试了所有我能想到的。
堆栈溢出试图告诉我这篇文章主要是代码,我应该添加更多细节,但我想我放下了一切。 我想要反馈,而且,我是 JS 和堆栈溢出的新手,我只是为了发布这个而创建了这个帐户。
在convert()中更改代码
if (outputtype = "imperial")
到
if (outputtype === "imperial")