Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

JavaScriptで悪戦苦闘

More than 3 years have passed since last update.

やりたいことはこれ
HTMLにJavaScriptを組み込んで、
工数を入力し、次式で求める標準工数を表示する
標準工期=(工数の3乗根)×2.5

失敗はこれ
①3乗根を求めたいが、結果が1になった。
 原因は、文字列を数値変換するときにparseInsを使っていたので、整数になっていた。浮動小数点parseFloatにした。
②計算ボタンを押しても、結果が表示されなくなった。
 原因 関数の大文字小文字が影響するとは知らなかった
 誤 parsefloat
 正 parseFloat
③計算ボタンを押しても、結果が表示されなくなった。
 原因は、</script>が無かった(恥;)
④外部ソースファイルのファイル名を間違った
 原因 はじめのうち、JavaScriptを外部ファイルにしていた。改良していく途中で内部にした。
 <script type="text/javascript" language="JavaScript" src="課題2.js"></script>
⑤計算ボタンをクリックしたが、計算結果がアラート表示されないので、JavaScriptかHtmlのどこかが間違ったと思ってデバッグをしていたが、アラート表示がウィンドウの後ろにあり、OKボタンが押されていない状態だった。つまり、計算ボタンが無効のまま押していた。(恥;)

反省
ブラウザについているデバッグモードを十分に活用しよう
やっと出来上がったのはコレ。
```html:課題.html


内部スクリプトの実行

標準工期

<form name="bekijo">
    <input type="text" value="100">工数(人月)<br> <!-- 基数 -->
    <input type="text" value="0.333333">3乗根<br> <!-- 指数 -->
    <input type="button" value="計算" onclick="beki()">
</form>

<script>
function beki(){

//基数と指数をそれぞれ浮動小数点の数値に変換(parsefloat)して変数に格納
var num1=parseFloat(document.bekijo.elements[0].value);
var num2=parseFloat(document.bekijo.elements[1].value);

//べき乗を求めてアラートで表示
alert( "工数の3乗根は " + Math.pow(num1,num2) + "\n"
                + "標準工期は   " + 2.5 * Math.pow(num1,num2) + "ヵ月" + "\n"
                + "25%短縮工期は" + 2.5 * Math.pow(num1,num2) * 0.75 + "ヵ月");
}
</script>


```

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away