• ベストアンサー

JavaScriptでの足し算処理について

本日よりJavaScriptに取り組んでいますが、いきなり足し算の処理でつまずきました。 下記の様にdeta1に10を入れ、計算ボタンを押すとdeta2に25が入るような処理を行いたいのですが、10が文字として認識されてしまうらしく、deta2が1015になってしまいます。 かなり基本的なことだと思いますが、どうすればよいか教えてください。 <script language="JavaScript"> <!-- function func1(){ document.test.deta2.value=document.test.deta1.value+15; } //--> </script> <form name=test> <INPUT type="text" name="deta1"> <INPUT type=button value="計算" onClick=func1()> <INPUT type="text" name="deta2"> </form>

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

  • ベストアンサー
  • shota_TK
  • ベストアンサー率43% (967/2200)
回答No.2

小数点も扱いたいなら,下記のソースがいいかと思います. <script language="JavaScript"> <!-- function func1(){ document.test.deta2.value=eval(document.test.deta1.value)+15; } //--> </script> <form name=test> <INPUT type="text" name="deta1"> <INPUT type=button value="計算" onClick=func1()> <INPUT type="text" name="deta2"> </form>

egypt
質問者

お礼

回答ありがとうございます。 汎用性がありそうなので、こちらを使わせてもらおうと思います。

その他の回答 (3)

  • wolv
  • ベストアンサー率37% (376/1001)
回答No.4

+15 のところを、 -0+15 にするだけでもいけます。 引き算することで、数値に変換されます。

egypt
質問者

お礼

回答ありがとうございます。 裏技っぽい感じがしますが、いちばん簡単ですね。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.3

with ( document.test ){ deta2.value = Number( deta1.value ) + 15; } deta1.valueはStringオブジェクトなので、演算子+が文字列連結演算子として評価されるので、 Number(deta1.value)で、数値に変換してます。

egypt
質問者

補足

回答ありがとうございます。 こういう場合は数値に変換しないといけないのですね。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

document.test.deta2.value=document.test.deta1.value+15; を document.test.deta2.value=parseInt(document.test.deta1.value)+15; にしてみたら どうでしょうか? もしかして、数値を文字列にしないとエラーが出るかもしれませんが。

参考URL:
http://sanaki-web.hp.infoseek.co.jp/code/java/prog.htm
egypt
質問者

お礼

回答ありがとうございます。 すばやく回答してくださる方がいると本当に助かります。