webForm中。比如金额计算时。输入数量和单价。要能焦点离开单价TextBox自动计算出金额,怎么写? 使用 javascript onblure 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 textbox有一个LostFocus方法.你在里面写上计算的东东和显示的东东就好了... <%@ 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> 你自己写个事件,是光标事件,光标离开这个TextBox时,就会有个事件执行 <%@ 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> C#里如何给结构体成员赋值 viusal studio的代码整理功能的算法 关于vs2005的一个很纳闷的问题 关于反射的运用问题? 新手求助:未将对象引用设置到对象的实例 treeView和数据库的绑定 请问win编程时在datagrid中双击某单元格的事件是什么? 怎么检测是否已经安装了svg3.0 谢谢!!! win32编程中如何获取模态窗体的句柄 win2000打补丁后,会影响。net的正常工作吗?高手请进,一定给分!!! (Winform)TreeView问题,高手来看看,谢谢!
<!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>
<%@ 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>