怎么实现自动求和的效果??
有三个文本框txt1,txt2,txt3
txt1,txt2可以输入值,当焦点落在txt3时自动求出txt1,txt2的和。在txt3显示。
客户端和服务器端代码都行.....
在客户端实现的代码不会。
在服务器端我的思路是:
if (txt3.Focus==true )
{
int T1 = Convert.ToInt32(txt1.Text);
int T2 = Convert.ToInt32(txt2.Text);
int T = T1 + T2 ;
txt3.Text = T.ToString();
}
这个地方有错误,不知怎么改~~
if (txt3.Focus==true)
------解决方案--------------------应该将tex3的AotuPostBack属性设为true,再在后台处理数据
------解决方案--------------------这种东西在前台用JS就行了,不建议使用在后台处理,来回是要成本的。
------解决方案--------------------用JS吧。在他失去光标时调JS函数。又不会跳一下刷新。
------解决方案--------------------function Sum()
{
document.getElementById( "文本框3ID ").value=Number(document.getElementById( "文本框1ID ").value)+Number(document.getElementById( "文本框2ID ").value);
}
在文本框
<asp:TextBox ID= "文本框3ID " runat= "server " onblur= "Sum() " > </asp:TextBox>
------解决方案--------------------js:
<script type= "text/javascript ">
function numsum()
{
var first = document.form1.Text1.value;
var second = document.form1.Text2.value;
var resTxt = document.getElementById( "TextBox1 ");
var reg = /^((\d+)|([1-9]\d*\.\d+)|(0\/[1-9]\d*))$/;
if(!reg.exec(first)||!reg.exec(second))
{
resTxt.value= "输入含有非法字符! ";
}
else
{
resTxt.value = parseFloat(first)+parseFloat(second);
}
}
</script>
<input id= "Text1 " type= "text " />
<input id= "Text2 " type= "text " />
<asp:TextBox ID= "TextBox1 " onfocus= "numsum() " runat= "server "> </asp:TextBox>
加了些判断。。