- ベストアンサー
【至急】javascripでの計算
【至急】javascripでの計算 人から頼まれたものですが、時間があまりなく調べている暇がないので質問させていただきました。 流れはこうです。 最終的に重さを出したい。 ただし、Aの場合、Bの場合ともに答えが違います。 1.10個の選択肢を選ぶ 2.選択肢から2種類の数字を表示 ・厚み ・密度 3.長さを直接入力 4.幅を直接入力 5.2つのこたえ表示 ・1つ目は長さ×幅×厚み×密度=重さ ・2つ目は長さ×幅×厚み×500(固定)=重さ このプログラムをjavascriptでかけるかたがおりましたが、よろしくお願いいたします。
- みんなの回答 (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>
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
>2.選択肢から2種類の数字を表示 2番のロジックが定義されていないのでかけません。 10の選択肢があって、2種類の数字はどうやって確定されるのでしょうか?(ランダム?) 補足が必要です。
お礼
ご回答ありがとうございます。 大変失礼いたしました。 厚さで密度が決まっていますので、厚さを選んだら密度も自動的に出るという形です。 それが10個あるということです。 よろしくお願いいたします。
補足
ちなみに厚さはミリで表示されるのですが、長さ、幅、ともにメートル表示ですので、厚さのミリをメートルに変換して最終的に計算する形です。 よろしくお願いいたします!