下記HTMLにて、不良1~不良3に入力された合計を随時「不良合計」に表示させていのですが。
HTML
<label>不良1:<input id="a1" type="number" class="w200" name="a1" onChange="inputChange()"></label><br> <label>不良2:<input id="a2" type="number" class="w200" name="a2" onChange="inputChange()"></label><br> <label>不良3:<input id="a3" type="number" class="w200" name="a3" onChange="inputChange()"></label> <input id="sum" type="number" name="不良合計">
JavaScript
function inputChange(){ var a1 = document.getElementById( "a1" ).value; var a2 = document.getElementById( "a2" ).value; var a3 = document.getElementById( "a3" ).value; var sum = parseInt(a1)+parseInt(a2)+parseInt(a3); document.getElementById( "sum" ).value = sum ; }
上記のようにすると動作しません(id="sum"のinputはa1~a3に値を入れても空欄のまま
a1~a3に value="??" と適当に初期値を入れ、inputChange関数の括りを無くして
JavaScript
var a1 = document.getElementById( "a1" ).value; var a2 = document.getElementById( "a2" ).value; var a3 = document.getElementById( "a3" ).value; var sum = parseInt(a1)+parseInt(a2)+parseInt(a3); document.getElementById( "sum" ).value = sum ;
だけにしてやると、id="sum"にはちゃんと合計値が入ります。
まだ回答がついていません
会員登録して回答してみよう