- 締切済み
JavaSの追加計算
function keisan(){ // 設定開始 var price1 = document.form1.kazu.value; // 合計を計算 if (price1 < 10000) { var total = parseInt(price1)*44/10000; } else { var total = parseInt(price1)*45/10000; } else if // 設定終了 document.form1.field_total.value = total; // 合計を表示 } // --> </SCRIPT> 上記に追加で*22/10000の計算を入れたいのですがどうしたらいいのですようか? 初心者なので申し訳ございませんがご教授お願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- KanjiTalk
- ベストアンサー率30% (7/23)
>Java S Java S ではなく JavaScript ですよ? Java と JavaScript は全く別の言語です。 (知っていたらすみません)
- sakusaker7
- ベストアンサー率62% (800/1280)
#1です。 1の補足にあるスクリプトですが、 price2が一体なんなのかよくわかりませんが、 それを除けば大きな問題はないかと。 あ、ひとつありますね。 if ((price1 < 10000) && (price2.options[price2.selectedIndex].value == "????")){ var total = parseInt(price1)*20/10000; } else if ((price1 > 9999) && (price2.options[price2.selectedIndex].value == "????")){ var total = parseInt(price1)*20/10000; ↑ここの部分ですけど、price2.(略 ).value と比較する値が同じであるなら、 if (price2.(略).value == "????") { var total = parseInt(price1)*20/10000; } else if (price1 < 10000) { var total = ... } else { var total = ... } price1の値に関わらず *20/10000 をやってますから まとめた方がいいですね。 同じものを求めるのに二箇所で別々に計算していると、 間違いの元になります(片方だけしか直さないとか)。
- sakusaker7
- ベストアンサー率62% (800/1280)
追加する以前に、このスクリプトは動いていないのではないですか? if () {} else {} のあとに else if とくるのは変ですよ。 あと、どのような場合に *22/10000をしたいのでしょうか? もしこのelse if の本体部に *22/10000 を使った 計算を入れたいのなら、 if (price1 < 10000) { var total = parseInt(price1)*44/10000; } else if (????) { var total = parseInt(price1)*22/10000; } else { var total = parseInt(price1)*45/10000; } のような感じになります。 *22/10000 を行う条件がわかりませんので 実際に使うときは埋めてください。 varの使い方も気になりますが、とりあえずは スルーしておきます。 ×教授 ○教示
お礼
色々とお答えしていただきありがとうございます。 else ifにつきましては作成段階で間違って記載したものでした。 申し訳ございませんでしたm(_ _)m sakusaker7様の参考にして試行錯誤で完成させて行きたいと思ういます。
補足
function keisan(){ // 設定開始 var price1 = document.form1.kazu.value; var price2 = document.form1.????; // 合計を計算 if ((price1 < 10000) && (price2.options[price2.selectedIndex].value == "????")){ var total = parseInt(price1)*20/10000; } else if ((price1 > 9999) && (price2.options[price2.selectedIndex].value == "????")){ var total = parseInt(price1)*20/10000; } else if (price1 < 10000) { var total = parseInt(price1)*44/10000; } else { var total = parseInt(price1)*45/10000; } // 設定終了 document.form1.field_total.value = total; // 合計を表示 } // --> こんな感じに仕上がったのですがどうでしょうか?
補足
先ほどはご返答ありがとうございます。 まとめた方が見栄えも良くわかりやすくなりました。 度々で申し訳ございませんが下記の1000=4.4、10000=45 の計算を出したのですが11000=49.5となってしまいます。 どの様な書き方ですと正しく計算するのかご教示頂けませんでしょうか? } else if (price1 < 10000) { var total = parseInt(price1)*44/10000; } else { var total = parseInt(price1)*45/10000; }