【问题标题】:Getting a syntax error, saying my function is undefined出现语法错误,说我的函数未定义
【发布时间】:2014-05-24 09:58:45
【问题描述】:

非常不熟悉 JavaScript,但我很确定这应该可以,但当然不是。请帮我找出我的错误。

function calcShipping() {
var purchasePrice = document.input.purchasePrice.value;
var shippingPrice;

if (purchasePrice < 25) {
    shippingPrice = 1.5;
}
else {
    shippingPrice = (purchasePrice * .10 )
}
var totalPrice = (purchasePrice + shippingPrice) document.input.total.value =      totalPrice;
}
//-->
</script>

<body>
<h1>Shipping and Handling Calculator</h1>
<form name="input">
Purchase Price:<input type="text" name="purchasePrice" size="15"><br />
<input type="button" value="Shipping Calculation" onClick="calcShipping()"><br /><br       />
    Total Cost:<input type="text" name="total" size="15"><br />
</form>

【问题讨论】:

    标签: javascript syntax calculator shipping


    【解决方案1】:

    你需要在这里分开你的行:

    var totalPrice = (purchasePrice + shippingPrice) document.input.total.value =      totalPrice;
    

    var totalPrice = (purchasePrice + shippingPrice);
    document.input.total.value = totalPrice;
    

    您的示例代码也缺少&lt;script&gt; 标记,但这可能是由于粘贴错误。如果缺少,请在代码开始之前添加一个。

    编辑:可以通过parseInttext字段的值转换为整数进行处理来解决值错误:

    var purchasePrice = parseInt(document.input.purchasePrice.value, 10);
    

    Fiddle

    【讨论】:

    • 天哪,我不敢相信事情就这么简单。好吧,我已经做到了,现在它的输出数字是不正确的。它似乎只是将数字彼此相邻。即输入 24 给我的总成本是 241.5 而不是 25.5。编辑:另外,它有一个脚本标签,就像你说的那样粘贴问题。
    • @user3520123,请参阅我修改后的答案和 jsfiddle。
    • @user3520123,别忘了点击勾选接受答案:)
    【解决方案2】:
    var totalPrice = (purchasePrice + shippingPrice) document.input.total.value =      totalPrice;
    

    看起来不对。你应该有一个分号,那些代码行应该是代码行,即。不是在同一条线上挤在一起。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-22
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-06
      相关资源
      最近更新 更多