前提・実現したいこと
下記ソースで
for 文で回した時だけに発生するa0.value+a1.valueとする計算を
a0+a1と省いて書けるようにしたいです。
その上で
at()関数ではa0+a1のアラートがうまく言っているのに、
ati()関数ではアラートに計算ができないエラーが出てしまうのは
同じことをしているのに省略できないジレンマがあります。
a1.valueのvalueを省いて計算式かくことは不可能でしょうか?
at関数とati関数では同じことをしているのに違いが出てくるのはなぜでしょうか?理由が知りたいです。
発生している問題・エラーメッセージ
ati関数時のアラート[object HTMLinputElement][object HTMLinputElement]
該当のソースコード
javascript
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="utf-8"> 5<style></style> 6<title>template</title> 7</head> 8<body> 9 10<script> 11 function at(){ 12 var a0=parseFloat(document.getElementById('a0').value); 13 var a1=parseFloat(document.getElementById('a1').value); 14alert(a0+a1); 15 } 16 17 18 function ati(){ 19 for(i=0;i<2;i++){ 20 var a=0; 21 a[i]=parseFloat(document.getElementById('a'+i).value); 22 } 23alert(a0+a1); 24} 25 26</script> 27 28<form id="fm"> 29<input id="a0" value="2"> 30<input id="a1" value="3"><br /> 31<input type="button" size="5" id="solve0" value="solve0" onclick="at()"> 32<input type="button" size="5" id="solve1" value="solve1" onclick="ati()"> 33 34</form> 35</body> 36</html>
試したこと
a[i]=parseFloat(document.getElementById('a'+i).value);の部分を
a[i].value=parseFloat(document.getElementById('a'+i).value);としてみたりもしましたが、こちらも叶いませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/25 00:38
2018/09/25 01:17
2018/09/25 01:37