我已經編寫了一個表單的javascript代碼來計算價格,而用戶在文本框中鍵入一個數字。計算公式會根據用戶在文本框中輸入的數量進行更改。單選按鈕表格立即計算價格
例如,如果數量在0到1200之間,則總價格=(200000 + 166.7 x facadeArea)x(projectStyle)x(projectFunction)。
問題是總價並沒有改變。 請幫助我。
<html>
<font face = "Algerian" ><h2>What Kind of Project Would You Like to Order?
</h2></font>
<form name ="mdl">
Project style:<br/>
    <input type="radio" name="options" value="1"
onchange="estimateTotal(this);">modern
    <input type="radio" name="options" value="1.8"
onchange="estimateTotal(this);">classic
    <input type="radio" name="options" value="1.6"
onchange="estimateTotal(this);">traditional
    <input type="radio" name="options" value="1.7"
onchange="estimateTotal(this);">prarmetric
    <input type="radio" name="options" value="1.3"
onchange="estimateTotal(this);">organic
<input type="hidden" name="options">
<br/>
Project function:<br/>
    <input type="radio" name="style" value="1"
onchange="estimateTotal(this);">villa
    <input type="radio" name="style" value="1.4"
onchange="estimateTotal(this);">apartment
    <input type="radio" name="style" value="1.5"
onchange="estimateTotal(this);">commercial
    <input type="radio" name="style" value="1.6"
onchange="estimateTotal(this);">official
    <input type="radio" name="style" value="1.3"
onchange="estimateTotal(this);">other
<input type="hidden" name="style">
<br/>
Facade Area <br/>
    <input type="text" name="area" value="0"
onchange="estimateTotal(this);">sqm
<input type="hidden" name="area">
<br/>
<p>Total Price: <input type="text" name="total_price" value="0"
readonly="readonly"></p>
</form>
</html>
code:
<script type="text/javascript">
var projectStyle =
document.querySelector('input[name=options]:checked').value,
projectFunction =
document.querySelector('input[name=style]:checked').value,
facadeArea = document.getElementByName('area').value;
function estimateTotal(input) {
var total = parseFloat(mdl.total_price.value);
var value = parseFloat(input.value);
if (input.type === 'radio') {
if (input.name === 'options') {
if (facadeArea == 0) {total = 0;}
else if (facadeArea > 0 && facadeArea <= 1200) {
total = parseInt(200000 + 166.7 *
facadeArea)*projectStyle*projectFunction;}
else if (facadeArea > 1200 && facadeArea <= 4000) {
total = parseInt(400000 + 35.71 *
facadeArea)*projectStyle*projectFunction;}
else if (facadeArea > 4000 && facadeArea <= 10000) {
total = parseInt(500000 + 16.66 *
facadeArea)*projectStyle*projectFunction;}
else {total = 700000;}
}
}
mdl.total_price.value = total;
}
</script>
什麼是您所遇到的錯誤?根本沒有顯示總數**或**您得到的總數不正確**或**是系統錯誤? –
這是什麼工作?你有錯誤嗎?計算的價格是否錯誤?沒有任何事情發生? – Cleared
錯誤在於總價格錯誤。只是顯示「700000」 –