- 締切済み
自動計算方法
Java Scriptでテキスト入力した際、自動で合計が変化するプログラムを教えてください。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- auty
- ベストアンサー率58% (284/486)
・ 入力したときに値が変化するのを捉えて、onChange属性にイベントハンドラを設定します。 以下のコードを参考にしてみてください。 ------------------------------------------------------------ <html> <title>自動計算</title> <script language="javascript"> <!-- var amount = 3; var zei; var goukei; function calc(){ var total=0; var i=0; while(i<amount*2){ total = total + document.myForm.elements[i].value*document.myForm.elements[++i].value; i++; } document.myForm.itotal.value = total; zei = total * 0.05; zei = Math.floor(zei); goukei = total + zei; document.myForm.zei.value = zei; document.myForm.goukei.value = goukei; } //--> </script> <body onload="calc()" bgcolor="#eef8ee"> <h3>SHOPバスケット</h3> <hr /> <form name="myForm" method="post"> <table> <tr bgcolor="#77aabb"> <th width="100">商品コード</th> <th width="200">商品名</th> <th width="70">単価</th> <th width="50">個数</th> </tr> <tr> <td>00000-1234</td> <td>たい</td> <td align="right">\1,000<Input type="hidden" name="row0v" value="1000"></td> <td><Input type="text" name="row0" value="1" size="5" onChange="calc()"></td> </tr> <tr bgcolor="#aabbcc"> <td>11111-1234</td> <td>ひらめ</td> <td align="right">\3,000<Input type="hidden" name="row1v" value="3000"></td> <td><Input type="text" name="row1" value="1" size="5" onChange="calc()"></td> </tr> <tr> <td>22222-1234</td> <td>たこ</td> <td align="right">\4,000<Input type="hidden" name="row2v" value="4000"></td> <td><Input type="text" name="row2" value="1" size="5" onChange="calc()"></td> </tr> <tr><td colspan="4"> </td></tr> <tr bgcolor="#cccccc"> <td colspan="4" align="right">小計金額:<Input type="text" name="itotal" value="0" size="10"></td> </tr> <tr bgcolor="#cccccc"> <td colspan="4" align="right">消費税額:<Input type="text" name="zei" value="0" size="10"></td> </tr> <tr bgcolor="#aaaaaa"> <td colspan="4" align="right">合計金額:<Input type="text" name="goukei" value="0" size="10"></td> </tr> </table> </form> </body> </html>
お礼
ありがとうございます。助かりました。