-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

parsefloatに変更parseFloat: 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 の最初の 3 行は関数内にありません。この意味は
    • 彼らは存在しない要素にアクセスしようとしています(そして決してそうではありません、あなたにはtotalprice要素がありません)
    • ユーザーが値を入力する前に要素にアクセスしようとしています
于 2013-06-23T17:22:11.487 に答える
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) doctype しかないので、これはもう必要ありません。

于 2013-06-23T17:22:47.233 に答える