否则,如果计算不起作用,如果我删除 else if 并且只有 1 个公式,则程序可以运行
Else if calculation not working, program works if i remove else if and have only 1 formula
我一直在努力创建一个表格,客户可以输入他们院子的大小并获得报价。如果我只使用一个没有 if else 的公式,它工作正常,但是当我添加其他公式选项来创建准确的定价时,我没有得到任何结果。我已经阅读了多项建议,并尝试了所有我能接受的建议,但都无济于事。
<head>
<title>Test</title>
</head>
<body>
<form name="Instant Quote">
<table border="1" width="300" height="200" cellpadding="10" cellspacing="3">
<tr>
<th colspan="2">
<h1>Instant Quote</h1>
</th>
</tr>
<tr>
<th>
<h3>Square Footage of Yard</h3>
</th>
<th>
<input type="number" name="INPUT1" id="input" onchange="calculate();"/>
</th>
</tr>
<tr>
<th>
<h3>Cost per treatment</h3>
</th>
<th>
<input type="number" name="OUTPUT1" id="output">
</th>
</tr>
<tr>
</tr>
</table>
</form>
<script type="text/javascript">
function calculate() {
var USERINPUT1 = document.TESTING.INPUT1.value,
if (USERINPUT1 >=0 && USERINPUT1 <= 5000) {
RESULT = (USERINPUT1*.005) + 25;
} else if (USERINPUT1 >=5001 && USERINPUT1 <= 10000) {
RESULT = (USERINPUT1*.0045) + 25;
} else {
RESULT = (USERINPUT1*.004) + 25;
}
document.TESTING.OUTPUT1.value = RESULT;
}
</script>
<body>
- 在 USERINPUT1 声明的末尾,您可能需要一个分号而不是逗号。
- document.TESTING.INPUT1 在 DOM 上不存在,您可以使用 document.getElementById("input") 代替。
function calculate() {
var USERINPUT1 = document.getElementById("input").value;
if (USERINPUT1 >=0 && USERINPUT1 <= 5000) {
RESULT = (USERINPUT1*.005) + 25;
} else if (USERINPUT1 >=5001 && USERINPUT1 <= 10000) {
RESULT = (USERINPUT1*.0045) + 25;
} else {
RESULT = (USERINPUT1*.004) + 25;
}
document.getElementById("output").value = RESULT;
}
<form name="Instant Quote">
<table border="1" width="300" height="200" cellpadding="10" cellspacing="3">
<tr>
<th colspan="2">
<h1>Instant Quote</h1>
</th>
</tr>
<tr>
<th>
<h3>Square Footage of Yard</h3>
</th>
<th>
<input type="number" name="INPUT1" id="input" onchange="calculate();"/>
</th>
</tr>
<tr>
<th>
<h3>Cost per treatment</h3>
</th>
<th>
<input type="number" name="OUTPUT1" id="output">
</th>
</tr>
<tr>
</tr>
</table>
</form>
我一直在努力创建一个表格,客户可以输入他们院子的大小并获得报价。如果我只使用一个没有 if else 的公式,它工作正常,但是当我添加其他公式选项来创建准确的定价时,我没有得到任何结果。我已经阅读了多项建议,并尝试了所有我能接受的建议,但都无济于事。
<head>
<title>Test</title>
</head>
<body>
<form name="Instant Quote">
<table border="1" width="300" height="200" cellpadding="10" cellspacing="3">
<tr>
<th colspan="2">
<h1>Instant Quote</h1>
</th>
</tr>
<tr>
<th>
<h3>Square Footage of Yard</h3>
</th>
<th>
<input type="number" name="INPUT1" id="input" onchange="calculate();"/>
</th>
</tr>
<tr>
<th>
<h3>Cost per treatment</h3>
</th>
<th>
<input type="number" name="OUTPUT1" id="output">
</th>
</tr>
<tr>
</tr>
</table>
</form>
<script type="text/javascript">
function calculate() {
var USERINPUT1 = document.TESTING.INPUT1.value,
if (USERINPUT1 >=0 && USERINPUT1 <= 5000) {
RESULT = (USERINPUT1*.005) + 25;
} else if (USERINPUT1 >=5001 && USERINPUT1 <= 10000) {
RESULT = (USERINPUT1*.0045) + 25;
} else {
RESULT = (USERINPUT1*.004) + 25;
}
document.TESTING.OUTPUT1.value = RESULT;
}
</script>
<body>
- 在 USERINPUT1 声明的末尾,您可能需要一个分号而不是逗号。
- document.TESTING.INPUT1 在 DOM 上不存在,您可以使用 document.getElementById("input") 代替。
function calculate() {
var USERINPUT1 = document.getElementById("input").value;
if (USERINPUT1 >=0 && USERINPUT1 <= 5000) {
RESULT = (USERINPUT1*.005) + 25;
} else if (USERINPUT1 >=5001 && USERINPUT1 <= 10000) {
RESULT = (USERINPUT1*.0045) + 25;
} else {
RESULT = (USERINPUT1*.004) + 25;
}
document.getElementById("output").value = RESULT;
}
<form name="Instant Quote">
<table border="1" width="300" height="200" cellpadding="10" cellspacing="3">
<tr>
<th colspan="2">
<h1>Instant Quote</h1>
</th>
</tr>
<tr>
<th>
<h3>Square Footage of Yard</h3>
</th>
<th>
<input type="number" name="INPUT1" id="input" onchange="calculate();"/>
</th>
</tr>
<tr>
<th>
<h3>Cost per treatment</h3>
</th>
<th>
<input type="number" name="OUTPUT1" id="output">
</th>
</tr>
<tr>
</tr>
</table>
</form>