- ベストアンサー
JavaScript配列の使い方
- JavaScriptの初心者が配列の使い方について質問しています。
- 現在はinputタグの値を足し合わせる処理をしていますが、将来的にはDBから読み込んだ数値を使う予定です。
- その場合、どのように配列を使えば良いのか、具体的な方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ああ、やっぱり nameは"kazu"+数字でいいのですよね? <script> function ttlValue(f){ var goukei=0; for(var i=0;i<f.length;i++){ if(f[i].type=="text" && f[i].name.match(/^kazu[0-9]+$/)) goukei +=parseFloat(f[i].value); } alert("sum "+goukei+"です"); } </script> <form> <input type="text" name="kazu1" value="10">%</td> <input type="text" name="kazu2" value="10">%</td> <input type="text" name="kazu3" value="10">%</td> <input type="text" name="kazu4" value="10">%</td> <input type="text" name="kazu5" value="10">%</td> <input type="submit" name="button" value="keisan" onClick="ttlValue(this.form)" > </form>
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
textを足しこんでいくならformの要素を総ざらいすればよいでしょう。 nameをチェックする必要があるなら、ちょっと工夫が必要ですね <script> function ttlValue(f){ var goukei=0; for(var i=0;i<f.length;i++){ if(f[i].type=="text") goukei +=parseFloat(f[i].value); } alert("sum "+goukei+"です"); } </script> <form> <input type="text" name="kazu1" value="10">%</td> <input type="text" name="kazu2" value="10">%</td> <input type="text" name="kazu3" value="10">%</td> <input type="text" name="kazu4" value="10">%</td> <input type="text" name="kazu5" value="10">%</td> <input type="submit" name="button" value="keisan" onClick="ttlValue(this.form)" > </form>
補足
説明たりずにすみません。 input type="text"は計算の対象以外にもたくさんあるので name="kazu"で始まる分だけ持ってこないといけません。
お礼
うまくなりました。 ありがとうございました。