缺少必需的参数: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:数字”。警报对话框不显示,所以它必须是导致问题的脚本的第一行。

我在做什么错?

感谢, 皮特

+0

它是'parseInt'而不是'parseint'。Js区分大小写。 – MinusFour

+1

两件事。首先,您会收到错误消息,因为您无法在代码段的JavaScript部分放置'

+1

如果我点击你的计算按钮,我得到错误“TypeError:document.getElementbyId不是一个函数”(这是因为b中by是小写)。你能向我们展示实际产生你所说错误的代码吗? – JLRishe

代码中的一些缺陷:

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) 

希望这有助于和编码快乐!