-PR-
解決済み

入力された数値による計算について

  • 暇なときにでも
  • 質問No.75838
  • 閲覧数278
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 66% (26/39)

関数を使う式が難しく、どうか教えてください。

金額を入力してもらい、その金額による(1)割引率%、(2)サービスする価格、(3)計算結果、というスクリプトを組まなければなりません。
入力された金額の範囲が1000円~10,000円までのものなら、(1)が5%、(2)が300円、(3)は入力された金額*(1)-(2)で、金額の範囲が上がると、(1)が7%、(2)が500円になるといった具合で、6段階ぐらいに増えていきます。
(3)の計算結果だけでなく、(1)(2)(3)すべてが出るようにするには、どのように組めば良いのでしょうか?
どうか宜しくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル12

ベストアンサー率 75% (398/526)

 入力後、割引率、サービス価格、計算結果を表示する、ということですが、何もないところに、いきなり文字を表示することはできません。

 割引率、サービス価格、計算結果表示用のテキストボックスを用意しておいて、入力があったら、各数値を表示するのがいいと思います。

・入力の確認は、入力フィールドのonBlur/onChange、または計算ボタンなどで行います。
・表示用フィールドにもonBlur/onChange/onKeypressなどを用意しておいて、ユーザによる書き込みがあったら、正しい値を表示し直すといいです。
・金額による各値の変動ですが、割引率とサービス価格の配列をそれぞれ用意しておき、入力された価格に対する配列でのIndex値を、多重if文で求めればよいと思います。

凄く適当に組んでみましたが、参考にしてみてください。

<script>内
var price, lank;    // 入力価格、入力価格のランク
var wari = new Array(0,5,10,15,20);  // 割引率
var serv = new Array(0,300,400,500,600);  // サービス価格

function check()
{
  price = eval(document.frm.tx0.value);
  set_lank();
  view();
}

function set_lank()
{
  if ( price< 1000) { lank = 0; }
  else if ( 1000<=price && price<10000) { lank = 1; }
  else if (10000<=price && price<15000) { lank = 2; }
  else if (15000<=price && price<20000) { lank = 3; }
  else if (20000<=price ) { lank = 4; }
}

function view()
{
  with( document.frm ) {
    tx1.value = wari[lank];
    tx2.value = serv[lank];
    tx3.value = price + (price * wari[lank] / 100) - serv[lank];
  }
}

<body>内
<form name="frm">
 <input type="text" name="tx0"">
 <input type="button" value="計算する" onClick="check();"><p>

 <font face="MS ゴシック">
 割引率   <input type="text" name="tx1" onBlur="view();">%<br>
 サービス価格<input type="text" name="tx2" onBlur="view();"><br>
 価格    <input type="text" name="tx3" onBlur="view();"><br>
 </font>
</form>
お礼コメント
garfield

お礼率 66% (26/39)

分かり易い説明と、重宝なスクリプトをご回答いただいて、本当にありがとうございました。このスクリプトを加工していけば、いろいろと多用できると思います。大変助かりました。今後とも宜しくお願いいたします。
投稿日時 - 2001-05-15 10:02:20
関連するQ&A
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ