使用 javascript  onblure

解决方案 »

  1.   

    textbox有一个LostFocus方法.你在里面写上计算的东东和显示的东东就好了...
      

  2.   

    <%@ Page Language="C#" AutoEventWireup="false" debug="true" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
    <html>
      <head>
        <title>CSharpTemp</title>
        <meta name=vs_defaultClientScript content="JavaScript">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function count()
    {
    var reg1 = /^\d+$/;
    var reg2 = /^(0|[1-9]\d*)$|^(0|[1-9]\d*)\.(\d+)$/;
    if(!reg1.test(document.all("TextBox1").value))
    {
    return;
    }
    if(!reg2.test(document.all("TextBox2").value))
    {
    return;
    } var quantity = parseInt(document.all("TextBox1").value);
    var price = parseFloat(document.all("TextBox2").value);
    var amount = quantity * price; document.all("TextBox3").value = amount.toString(); }
    //-->
    </SCRIPT>    <script runat="server">
    private void Page_Load(object sender, System.EventArgs e)
    {
    if( !IsPostBack )
    {

    }
    } override protected void OnInit(EventArgs e)
    {
    InitializeComponent();
    base.OnInit(e);
    }

    private void InitializeComponent()
    {    
    this.Load += new System.EventHandler(this.Page_Load);
    } </script>  </head>
      <body>
        <form id="Form1" method="post" runat="server">
    数量<asp:TextBox id="TextBox1" runat="server" onblur="count()"></asp:TextBox>
    <br>
    单价<asp:TextBox id="TextBox2" runat="server" onblur="count()"></asp:TextBox>
    <br>
    总价<asp:TextBox id="TextBox3" runat="server"></asp:TextBox>
        </form>
      </body>
    </html>
      

  3.   

    你自己写个事件,是光标事件,光标离开这个TextBox时,就会有个事件执行
      

  4.   

    <%@ Page Language="C#" AutoEventWireup="false" debug="true" %>
    <%@ Import Namespace = "System.Data"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
    <html>
      <head>
        <title>CSharpTemp</title>
        <meta name=vs_defaultClientScript content="JavaScript">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function count(obj)
    {
    var reg1 = /^\d+$/;
    var reg2 = /^(0|[1-9]\d*)$|^(0|[1-9]\d*)\.(\d+)$/; // 找出 TextBox1,TextBox2,TextBox3
    var objParent = obj.parentElement.parentElement;
    var textBoxs = objParent.getElementsByTagName("input");
    var textBox1 = null;
    var textBox2 = null;
    var textBox3 = null;
    for( var i=0;i < textBoxs.length;i ++)
    {
    if(textBoxs[i].id.indexOf("TextBox1") != -1)
    {
    textBox1 = textBoxs[i];
    }
    else if(textBoxs[i].id.indexOf("TextBox2") != -1)
    {
    textBox2 = textBoxs[i];
    }
    else if(textBoxs[i].id.indexOf("TextBox3") != -1)
    {
    textBox3 = textBoxs[i];
    }
    } if(!reg1.test(textBox1.value))
    {
    //alert("数量要为整数!");
    return;
    }
    if(!reg2.test(textBox2.value))
    {
    //alert("单价要为货币格式!");
    return;
    } var quantity = parseInt(textBox1.value);
    var price = parseFloat(textBox2.value);
    var amount = quantity * price; textBox3.value = amount.toString();

    }
    //-->
    </SCRIPT>    <script runat="server">
    private void Page_Load(object sender, System.EventArgs e)
    {
    if( !IsPostBack )
    {
    BindDataGrid();
    }
    } override protected void OnInit(EventArgs e)
    {
    InitializeComponent();
    base.OnInit(e);
    }

    private void InitializeComponent()
    {    
    this.Load += new System.EventHandler(this.Page_Load);
    } private DataTable CreateDataSource()
    {
    DataTable dt = new DataTable();
    DataColumn dc ;
    DataRow dr; dc = new DataColumn();
    dc.ColumnName = "id";
    dc.DataType = Type.GetType("System.Int32");
    dt.Columns.Add(dc); for(int i=0;i<3;i++)
    {
    dr = dt.NewRow();
    dr["id"] = i.ToString();
    dt.Rows.Add(dr);
    }
    return dt;
    } private void BindDataGrid()
    {
    DataGrid1.DataSource = CreateDataSource();
    DataGrid1.DataBind();
    }
    </script>  </head>
      <body>
        <form id="Form1" method="post" runat="server">

    <ASP:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False" bordercolor="red">
    <Columns>
    <asp:TemplateColumn HeaderText="id">
    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "id")%>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="数量">
    <ItemTemplate>
    <asp:TextBox id="TextBox1" runat="server" onblur="count(this)"></asp:TextBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="单价">
    <ItemTemplate>
    <asp:TextBox id="TextBox2" runat="server" onblur="count(this)"></asp:TextBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="总价">
    <ItemTemplate>
    <asp:TextBox id="TextBox3" runat="server"></asp:TextBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </ASP:DataGrid>
        </form>
      </body>
    </html>