<form name="form">
<INPUT TYPE="text" name="entry" VALUE="" onkeyup="calculate()">
<TABLE>
<TR>
<TD>名称</TD>
<TD>单位用量</TD>
<TD>总用量</TD>
</TR>
<TR>
<TD>aa</TD>
<TD>2<input type="hidden" name="u" value=2></TD><!-- varlue=<%=rs("unit_amount")%>  -->
<TD><input name="twice"></TD>
</TR>
<TR>
<TD>bb</TD>
<TD>3<input type="hidden" name="u" value=3></TD>
<TD><input name="twice"></TD>
</TR>
</TABLE>
</form>
<script language="JavaScript"> function calculate()
{
var entry = document.form.entry.value;//自己判断是否合法

for(var i=0;i<document.form.u.length ;i++ )
{
document.form.twice[i].value = document.form.u[i].value * entry;
}
}</script> 看看吧

解决方案 »

  1.   

    onblur的时候计算好吧
    <table border="1" id="inps">
    <tr><td>aa</td><td>2</td><td><input type="text" /></td></tr>
    <tr><td>aa</td><td>2</td><td><input type="text" /></td></tr>
    </table>
    <script language="JavaScript"> 
    var inps = document.getElementById('inps').getElementsByTagName('input');
    for(var i=0; i<inps.length; i++){
    inps[i].onblur = function(){ // 也可以改成onkeyup但非常不好
    var p = this.parentNode.parentNode, n = p.cells[p.cells.length-2].innerHTML;
    status = n + '   |    ' + this.value;
    this.value = parseInt(n)*this.value;
    }
    }
    </script> 
      

  2.   

    Add.aspx页面:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Add.aspx.cs" Inherits="Add" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Ajax应用之加法运算</title>
        <script type="text/javascript">
            var xmlHttp;
            function createXMLHttpRequest()
            {
                if(window.ActiveXObject)
                {
                    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                else if(window.XMLHttpRequest)
                {
                    xmlHttp=new XMLHttpRequest();
                }
            }
            function addNum()
            {
                createXMLHttpRequest();
                var url="Handler.ashx?Num1="+document.getElementById("num1").value+"&Num2="+document.getElementById("num2").value
                xmlHttp.open("GET",url,true);
                xmlHttp.onreadystatechange=showResult;
                xmlHttp.send(null);
            }
            function showResult()
            {
                if(xmlHttp.readyState==4)
                {
                    if(xmlHttp.status==200)
                    {
                        document.getElementById("result").value=xmlHttp.responseText;
                    }
                }
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <input id="num1" type="text" onkeyup="addNum()"/>+<input id="num2" type="text" onkeyup="addNum()"/>=
            <input id="result" type="text" /></div>
        </form>
    </body>
    </html>Handler.ashx页面:
    <%@ WebHandler Language="C#" Class="Handler" %>using System;
    using System.Web;public class Handler : IHttpHandler {
        
        public void ProcessRequest (HttpContext context) {
            context.Response.ContentType = "text/plain";
            int result = Convert.ToInt32(context.Request.QueryString["Num1"]) + Convert.ToInt32(context.Request.QueryString["Num2"]);
            context.Response.Write(result);
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }}
    直接拷贝 即可运行...不过用的是onkeyup事件...2楼的说不好...