日期:2014-05-18  浏览次数:20386 次

怎么实现自动求和的效果??
有三个文本框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>

加了些判断。。