• ベストアンサー

表示されません(>_<)!!

以下のように作ってみたんですけど、わたしは判定結果は四角の中に表示されるようにやったつもりだったんですけど、新しいページに「痩せてます」と表示されてしまいます。どこを直せば良いでしょう? お願いします <HTML> <HEAD> <TITLE>関数のテスト</TITLE> <SCRIPT language="JavaScript"> <!-- function test() { height = document.aaa.h.value; weight = document.aaa.w.value; himan = (height-100)*0.9; if (himan <= weight) { document.write("痩せてます。"); } else { document.write("太っています。"); } } //--> </SCRIPT> </HEAD> <BODY> <form name="aaa"> <table> <tr><td>身長</td><td><input name = "h"> </td></tr> <tr><td>体重</td><td><input name = "w"> </td></tr> <tr><td><input type="button" value ="判定" onClick = "test()" ></td></tr> <tr><td>判定結果</td><td><input name = "hi"> </td></tr> </table> </form> </BODY> </HTML>

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

  • ベストアンサー
noname#37134
noname#37134
回答No.4

こんばんは。昼間のうちに、いろいろ回答があり、アラートも出て、素晴らしいですね。私も勉強させていただきました。 せっかくですので、ブラウザで更新としても、新しいデータを入れるようには、ならないので、何度も試すために、リセットボタンを付けてみました。 このボタン<input type="reset" value="リセット">は、簡単に、いろんなときに付加して使えます。 <HTML> <HEAD> <TITLE>関数のテスト</TITLE> <SCRIPT language="JavaScript"> <!-- function test() { if (aaa.h.value == "") { alert("身長を入力してください。"); return false; } if (aaa.w.value == "") { alert("体重を入力してください。"); return false; } height = document.aaa.h.value; weight = document.aaa.w.value; himan = (height-100)*0.9; if (himan >= weight) {          document.aaa.hi.value="痩せてます。"; } else { document.aaa.hi.value="太っています。"; } } //--> </SCRIPT> </HEAD> <BODY> <form name="aaa"> <table> <tr><td>身長</td><td><input name = "h"> </td></tr> <tr><td>体重</td><td><input name = "w"> </td></tr> <tr><td><input type="button" value ="判定" onClick = "test()" ></td></tr> <tr><td>判定結果</td><td><input name = "hi"> </td></tr> </table> <hr> <input type="reset" value="リセット"> </form> </BODY> </HTML> ただし、これは、関数JavaScriptの練習ならそれでいいのですが、コンピュータを使うにしては、暗算でも判定できるような計算なので、実際的には、活用は、どうかなと思います。 参考に次のようなコメントを見つけたので、読んでみてください。 __________________ 標準体重を基に判断する 「ほっそり願望」に取りつかれて、やみくもに減量を実行する前に、まず自分が太っているかどうかを客観的に判断することが大切です。  その目安として、あなたの体重を標準体重と較べて見ましょう。    (身長-100)×0.9=標準体重(kg) (例)(160cm-100)×0.9=54kg  かつてはこのような数式で求めていましたが、これでは身長だけを基に計算しているのであまり正確とはいえません。 BMI(体格指数)を基に判断する そこで今日ではBMI(Body Mass Index:体格指数) といって・・・・ BMI=体重(kg)÷身長(m)2 の数式で求めます。 例えば体重54kgで身長160cmの場合は・・・・ BMI=54÷(1.6)2 =21.0 となります。  このBMI指数を基にしてやせか、標準か、太り気味か、肥満かを判定します。 BMI 判定 20未満 低体重(やせ) 20~24 標準体重(標準) 24~26.5 過体重(太り気味) 26.5以上 肥満体重(肥満) ________________ この4段階くらいで、判定が出せたら、利用価値が高いと思います。

tomo-nao
質問者

お礼

まぁこんなに詳しく教えて下さるなんて!!感激です~ありがとうございました!そうですね私としては関数の練習として作ってみたのですが実際に使う時はコメントを参考にして作っていきたいと思います。BMI判定のほうが信用できますしね(^_^) 本当にありがとうございました☆

その他の回答 (3)

  • kajix
  • ベストアンサー率33% (1/3)
回答No.3

ヾ(@⌒ー⌒@)ノおはよう御座います。kajixです。 xruzさんの補足です。 xruzさんのだと未入力の時にも太っていますとでるのでエラーのアラートを出すようにしました。 <HTML> <HEAD> <TITLE>関数のテスト</TITLE> <SCRIPT language="JavaScript"> <!-- function test() { if (aaa.h.value == "") { alert("身長を入力してください。"); return false; } if (aaa.w.value == "") { alert("体重を入力してください。"); return false; } height = document.aaa.h.value; weight = document.aaa.w.value; himan = (height-100)*0.9; if (himan >= weight) {          document.aaa.hi.value="痩せてます。"; } else { document.aaa.hi.value="太っています。"; } } //--> </SCRIPT> </HEAD> <BODY> <form name="aaa"> <table> <tr><td>身長</td><td><input name = "h"> </td></tr> <tr><td>体重</td><td><input name = "w"> </td></tr> <tr><td><input type="button" value ="判定" onClick = "test()" ></td></tr> <tr><td>判定結果</td><td><input name = "hi"> </td></tr> </table> </form> </BODY> </HTML> もう少し本当はチェックを入れた方が良いのですが時間が無いので(^∧^) ゴメンなさい。 急ぎでやったので間違ってるかもσ(^_^;)アセアセ... あとは少しづつ機能を追加していってください。

tomo-nao
質問者

お礼

お忙しいのにありがとうございました!アラートってこうやって使うんですねぇ。ごめんなさい超初心者で(>_<)まだ勉強し始めて4日目くらいなんですよ~。まだまだ修行中の身なのでこれからもどうぞよろしくお願いします☆ほんとにありがとうございました!

  • xruz
  • ベストアンサー率50% (72/143)
回答No.2

おはようございますtomo-naoさん、xruzです。 こんな感じでしょうか? <HTML> <HEAD> <TITLE>関数のテスト</TITLE> <SCRIPT language="JavaScript"> <!-- function test() { height = document.aaa.h.value; weight = document.aaa.w.value; himan = (height-100)*0.9; if (himan >= weight) {         // 変えました document.aaa.hi.value="痩せてます。"; // 変えました } else { document.aaa.hi.value="太っています。"; // 変えました } } //--> </SCRIPT> </HEAD> <BODY> <form name="aaa"> <table> <tr><td>身長</td><td><input name = "h"> </td></tr> <tr><td>体重</td><td><input name = "w"> </td></tr> <tr><td><input type="button" value ="判定" onClick = "test()" ></td></tr> <tr><td>判定結果</td><td><input name = "hi"> </td></tr> </table> </form> </BODY> </HTML> がんばってくださいね(~:~i

tomo-nao
質問者

お礼

ありがとうございました!うまく作動しましたよ~(^_^)でもこんな基本的なところでつまづくなんてあたしってばダメだなぁ(>_<)まだまだ修行中の身なのでこれからもどうぞよろしくお願いします☆ホントにありがとうございました!!

noname#37134
noname#37134
回答No.1

今、時間が無くて、正解が書けないのですが、 if (himan <= weight) { document.write("痩せてます。"); となっているので、判定をフォーム内でなく、すぐ書き出していると思います。 これは、判定をフォーム内に書くときの条件式とするべきですね。 <INPUT TYPE="text" NAME="hanteiA"> などのように、hanteiAをフォーム内に書き出すときの条件にしてみてください。 夕方だったら続きを考えられますが…

tomo-nao
質問者

お礼

ありがとうございます!今日yuri-mbcさんのを参考にもう一度がんばってみます!もしお時間があればつづきをお願いできますか?よろしくお願いします。ホントにありがとうございました☆

関連するQ&A