1

質問は次のとおりです。多くの企業は、通常、購入に対して配送料と手数料を請求します。ユーザーが購入価格をテキスト ボックスに入力できる Web ページを作成します。送料と手数料を計算する JavaScript 関数を含めます。$25.00 以下の購入に対して最低 $1.50 の送料および手数料を追加する機能をスクリプトに追加します。25.00 ドルを超える注文の場合、送料と手数料の合計購入価格に 10% を追加しますが、最低 1.50 ドルの送料と手数料は含まれません。注文の合計費用 (購入と送料および手数料) を決定したら、アラート ダイアログ ボックスに表示します。

私は JavaScript の初心者で、コードを機能させるのに苦労しています。ユーザーが入力した値を含む警告ボックスが表示されますが、何も追加されません。ただし、式が機能しない理由はわかりません。助けてください。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Calculating Shipping & Handling</title>
<script type="text/javascript">

/* <![CDATA[ */

    var price=[];
    var shipping=[];
    var total=price+shipping;

    function calculateShipping(){
    if (price <= 25){
    shipping = (price + 1.5);
    }
    else {
    shipping = (price * 10 / 100);
    }


window.alert("The purchase price with shipping is "
            + document.calculate.ent.value);
}
/* ]]> */
</script>
</head>
<body>
<form name ="calculate" action="" >
<p>Enter Purchase Price</p>
<input type="text" name="ent" >
<input type="button" name="button" value="Submit" onClick="calculateShipping()" />
</form>

</body>
</html>
4

2 に答える 2

3

これは明らかに宿題なので、正しい軌道に乗せます。

コードにはいくつかの問題があります。

  1. var total=price+shipping;配送料を実際に計算する前にこの行が表示されます
  2. document.calculate.ent.valueの値を実際に表示する代わりにtotal
  3. priceユーザーがテキストボックスに入力した値を変数に割り当てていません。単に価格を引数として calculateShipping()関数に渡すことを検討するかもしれません。function calculateShipping(price) { ... }
于 2012-12-04T00:48:29.220 に答える
2
Try:


function calculateShipping() {
    var price = parseFloat(document.getElementById('ent').value);
    var total = (price <=25) ? price + 1.5 : 1.1 * price;
    window.alert("The purchase price with shipping is $" + total.toFixed(2));
}

また、数値以外の値を入力すると関数がクラッシュするため、入力に検証を追加する必要があります。

于 2012-12-04T02:08:30.703 に答える