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);这样的,因此不会发送任何内容。您需要在您的示例中将其改回。
添加回答
举报