-3

当我点击计算按钮时,我似乎无法获得输出。我知道我错过了一些简单的事情,但是我整天都在绞尽脑汁,似乎无法让它正常工作。这是我更新的代码,仍然无法正常工作。

 <!DOCTYPE html>
 <html>
 <head>
 <script type="text/javascript">



 function calc(){
 var price = document.getElementById("price");
 var shipping=parseFloat(calc(price));
 var total= price+shipping;
 if (price<=25){
 return 1.5;
 }
 else{
 return price*10/100
 }

 window.alert("Your total price with shipping and handling is $" + price + ".");
 }
 </script>
 </head>
 <body>
 <form name="total" action="">
 Enter your amount:
 <input type="text" name="price" id="price">
 <input type="button"
 value="calculate"
 onclick="calc(document.getElementById("price")">
 </form>

 </body>
 </html>
4

3 回答 3

2

几个问题:

  1. 应该onclick不是on click(没有空格)
  2. calc(price)不是函数的名称,而只是calc。要调用它,你只需要写calc(document.totalprice.price.value)
  3. 它是parseFloat(大写F
  4. 位于window.alert函数体之外,因此您只会在开始时收到一个警报,但在按下按钮时不会
  5. 同样,您可能也希望将所有其他内容也放入函数中,以便在单击按钮时更新。
  6. document.totalprice不存在,所以document.totalprice.price.value不会工作。

另请注意,不需要 CDATA 注释。它们在 XHTML(用作 XML)中用于使内容成为 XML 解析器的纯文本(无需关心特殊字符等)。由于您只有简单的(和推荐的)HTML(5) 文档类型,因此您不再需要它。

于 2013-06-23T17:22:47.233 回答
2

更改parsefloatparseFloat:JavaScript 区分大小写。

同样,您使用on click而不是onclick. 浏览器猜不透你的意愿,你必须准确。

此外,您没有为表单命名(我想您想调用它totalprice。但最好是为此输入提供一个 id 并获取如下值:

<input type="text" name="price" id="price">

...

var price = document.getElementById('price');
于 2013-06-23T17:19:54.697 回答
2
  1. parsefloat应该parseFloat
  2. on click应该onclick
  3. calc返回一个数字,您试图将其返回值作为函数调用
  4. JavaScript 的前三行不在函数内部。这意味着
    • 他们试图访问不存在的元素(永远不会,你没有totalprice元素)
    • 他们试图在用户输入值之前访问元素
于 2013-06-23T17:22:11.487 回答