缺少必需的参数:javascript函数中的数字错误
问题描述:
我绝对是javacsript的新手。我从另一个stackoverflow文章复制了一些代码,将两个输入元素中的值相乘,并将结果放入第三个元素中。缺少必需的参数:javascript函数中的数字错误
的HTML/JavaScript是:
function Calculate() {
\t
\t var qty = document.getElementbyId("MemberQty").value;
alert(qty);
\t if (qty!='') {
\t \t var price = document.getElementbyId("MemberPrice").value;
\t \t var mcost = parseint(qty) * parseint(price);
\t \t document.getElementbyId("MemberCost").value = mcost;
\t }
\t else {
\t \t document.getElementbyId("MemberCost").value = '';
\t }
}
<table>
<tr>
<th>Qty</th>
<th align="left">Type</th>
<th>Price</th>
<th>Cost</th>
</tr>
<tr>
<td align="center">
<input type="text" size="3" style="text-align:right;" name="MemberQty" id="MemberQty" autocomplete="off" />
</td>
<td>Member tickets</td>
<td>$
<input type="text" size="5" value="20" name="MemberPrice" id="MemberPrice" readonly disabled style="background-color:#d9dfe5;border-style:none;" />
</td>
<td align="center">$
<input type="text" size="5" name="MemberCost" id="MemberCost" readonly disabled style="background-color:#d9dfe5;border-style:none;" />
</td>
</tr>
<tr>
<td></td>
<td align="right">
<button onClick="Calculate()">Calculate</td>
<td align="right">TOTAL</td>
<td align="center">$
<input type="text" size="5" id="TotalCharge" disabled readonly style="background-color:#d9dfe5;border-style:none;">
</tr>
</table>
当执行计算(),我立即得到一个错误 “缺少必要PARAM:数字”。警报对话框不显示,所以它必须是导致问题的脚本的第一行。
我在做什么错?
感谢, 皮特
答
代码中的一些缺陷:
转
document.getElementbyId
所有occurrances到
document.getElementById
变化
parseint(qty)
成
parseInt(qty,10)
parseInt函数是拼写错误:这是10个碱基输入数正确的语法。
变化
parseint(price)
到
parseFloat(price)
和以前一样,但是你可以用小数处理价格也
变化
<button onClick="Calculate()">
到
<button onclick="javascript:Calculate()">
小心地宣布给定事件解释的语言(onclick,here)。 我还建议写
qty = parseInt(qty,10);
if (isNaN(qty)) qty = 0 ;
右后
var qty = document.getElementbyId("MemberQty").value;
最后,把
if (qty!='')
到
if (qty >= 0)
希望这有助于和编码快乐!
它是'parseInt'而不是'parseint'。Js区分大小写。 – MinusFour
两件事。首先,您会收到错误消息,因为您无法在代码段的JavaScript部分放置'
如果我点击你的计算按钮,我得到错误“TypeError:document.getElementbyId不是一个函数”(这是因为b中by是小写)。你能向我们展示实际产生你所说错误的代码吗? – JLRishe