プロが教えるわが家の防犯対策術!

【至急】javascripでの計算

人から頼まれたものですが、時間があまりなく調べている暇がないので質問させていただきました。
流れはこうです。

最終的に重さを出したい。
ただし、Aの場合、Bの場合ともに答えが違います。

1.10個の選択肢を選ぶ

2.選択肢から2種類の数字を表示
・厚み
・密度

3.長さを直接入力

4.幅を直接入力

5.2つのこたえ表示

・1つ目は長さ×幅×厚み×密度=重さ
・2つ目は長さ×幅×厚み×500(固定)=重さ

このプログラムをjavascriptでかけるかたがおりましたが、よろしくお願いいたします。

A 回答 (2件)

微妙にニュアンスをとらえ切れてませんがこんなんでどうでしょう?



<script>
var list={
"a":{"atumi":10,"mitudo":20}
,"b":{"atumi":15,"mitudo":25}
,"c":{"atumi":20,"mitudo":30}
};
function check(f){
var s=f.elements["sel1"];
var atumi=list[s.value].atumi;
var mitudo=list[s.value].mitudo;
var nagasa=parseFloat(f.elements["nagasa"].value);
var haba=parseFloat(f.elements["haba"].value);
f.elements["atumi"].value=atumi;
f.elements["mitudo"].value=mitudo;
var kotae1=nagasa*haba*atumi*mitudo/1000;
var kotae2=nagasa*haba*atumi*500/1000;
f.elements["kotae1"].value=kotae1;
f.elements["kotae2"].value=kotae2;
}
</script>
<form>
<select onchange="check(this.form)" name="sel1">
<option value="">選択肢</option>
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
</select>
<hr>
・厚み:<input type="text" id="atumi" value="0"><br>
・密度:<input type="text" id="mitudo" value="0"><br>
<hr>
・長さ:<input type="text" id="nagasa" value="0" onchange="check(this.form)">(任意入力)<br>
・幅:<input type="text" id="haba" value="0" onchange="check(this.form)">(任意入力)<br>
<hr>
・答1:<input type="text" value="0" id="kotae1">(長さ×幅×厚み×密度=重さ)<br>
・答2:<input type="text" value="0" id="kotae2">(長さ×幅×厚み×500(固定)=重さ)<br>
</form>
    • good
    • 0

>2.選択肢から2種類の数字を表示



2番のロジックが定義されていないのでかけません。
10の選択肢があって、2種類の数字はどうやって確定されるのでしょうか?(ランダム?)
補足が必要です。

この回答への補足

ちなみに厚さはミリで表示されるのですが、長さ、幅、ともにメートル表示ですので、厚さのミリをメートルに変換して最終的に計算する形です。
よろしくお願いいたします!

補足日時:2010/03/01 10:21
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

大変失礼いたしました。

厚さで密度が決まっていますので、厚さを選んだら密度も自動的に出るという形です。
それが10個あるということです。
よろしくお願いいたします。

お礼日時:2010/03/01 10:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!