1 回答

TA貢獻1871條經驗 獲得超13個贊
我認為主要錯誤是您試圖將values 直接用作數字。如果將它們設置為實際數字,一切都會按預期進行。通常,您希望價格保留兩位小數:
function units() {
var pric=Number(document.getElementById('price').value);
var qty=Number(document.getElementById('quantity').value);
var result=document.getElementById('unit');
debugger;
var myResult=(pric*0.06+pric)/qty;
document.getElementById('unit').value=myResult;
}
<div class="contain">
<div class="wrapper">
<div class="form">
<h2>Unit Cost Calculator</h3>
<form id="unitCost" action="javascript:void(0);">
<p>
<label for="itemdesc">Item Description</label>
<input id="itemdesc" name="itemdesc" type="text" />
</p>
<p>
<label for="price">Price</label>
<input id="price" name="price" type="number" step="0.01"/>
</p>
<p>
<label for="quantity">Qty.</label>
<input id="quantity" name="quantity" type="number" />
</p>
<p>
<label for="unit">Unit Cost</label>
<input id="unit" name="unit" type="number" step="any" />
</p>
<p>
<label for="singleUnitCost">Single Unit Cost</label>
<input id="singleUnitCost" name="singleUnitCost" type="number" />
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
<label for="subm"></label>
<input type="submit" value="Calculate Per Unit Cost" onclick="units()" />
</p>
<p>
<label for="rest"></label>
<input type="reset" value="Reset" />
</p>
</form>
</div>
</div>
</div>
主要的變化是pric和qty在Number函數內部。另外,請注意表格的action是javascript:void(0);這樣的,因此不會發送任何內容。您需要在您的示例中將其改回。
添加回答
舉報