質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

2612閲覧

Javascriptのテキストボックスで正しい計算をさせたい

hisayanxp

総合スコア14

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/07/22 22:01

編集2018/07/22 22:26

前提・実現したいこと

たしざんが10+2=102になってしまうこと

該当のソースコード

<html> <head>   <script type="text/javascript"> function Calculate() { frm1.result.value = (frm1.firstValue.value * frm1.secondValue.value); }

   function Minus()
{
frm2.result.value = (frm2.firstValue.value - frm2.secondValue.value);
}

function Plus() { frm3.result.value = (frm3.firstValue.value) + (frm3.secondValue.value); }
</script> </head> <body> <form name = "frm1"> <input type="text" name = "firstValue">× <input type= "text" name= "secondValue">= <input type= "text" name = "result"> <br> <input type = "button" name = "buttoncalc" onClick="Calculate()" value = "掛け算実行"> </form>   <br> <form name = "frm2"> <input type="text" name = "firstValue">- <input type = "text" name = "secondValue">= <input type = "text" name = "result"> <br> <input type = "button" name = "buttonminus" onClick="Minus()" value = "引き算実行"> </form> <form name = "frm3"> <input type = "text" name = "firstValue">+ <input type = "text" name = "secondValue">ー <input type = "text" name = "result"> <br> <input type = "button" name = "butttonplus" onClick="Plus()" value = "たしざん実行"> </form> </body> </html> ```

試したこと

かっこでくくりましたがダメでした

補足情報(FW/ツールのバージョンなど)

windows7 IE11です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/07/22 22:19

質問テンプレート部分の文言が残っています。質問内容や意図を読み取る上ではノイズにしかなりませんので、自身の質問に関係のある文章(およびソースコード)のみ残すか、きちんと残りのテンプレート部分を埋めてください。
m.ts10806

2018/07/22 22:31

コードブロック外れて余計に読みづらくなってますよ。 プログラムコード(およびエラーメッセージ)は質問内容としては最も重要な部分であるため、見やすくしていただけると助かります。<code>ボタン押下→「コード」部分にコードを貼り付け→「ここに言語を入力」に対象言語名記入(エラーメッセージの場合は不要)の手順で「コードハイライト化」してください。(質問編集画面ではリアルタイムでプレビューが表示されるので見ながら調整してください)
guest

回答1

0

ベストアンサー

コードざっとしか読んでませんが、起きている現象からすると
parseInt()を利用すれば解決するように思います。

入力コントロールから取得した情報は何もしないと「文字列」として取得されます。
つまり10と2を入力して取得すると下記と同じことになります。

js

1"10"+"2"

「型」の問題ですね。
計算させたいのであればparseInt()で取得した情報を「数値型」にしたうえで計算すると良いです。

投稿2018/07/22 22:23

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hisayanxp

2018/07/22 22:45

parseIntでくくることでうまくいきました。ありがとうございました。 function Plus() { frm3.result.value = parseInt((frm3.firstValue.value)) + parseInt((frm3.secondValue.value)); }
m.ts10806

2018/07/22 22:53

エラーにはなりませんけど()1つずつ不要です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問