“sp1234”才能回答的问题?

liubaohuazy 2009-03-19 02:29:17
强烈要求sp1234回答。哈哈啊啊 啊
我还没疯呢。哈哈
还是那个问题。给新来的朋友也说下。哈哈
有三服务器控件(textbox)分别命名为 t1,t2,t3.
用JavaScript实现
当光标离开t2的时候,t3=t1*t2
...全文
298 65 打赏 收藏 转发到动态 举报
写回复
用AI写文章
65 条回复
切换为时间正序
请发表友善的回复…
发表回复
lee576 2009-10-15
  • 打赏
  • 举报
回复
这么简单的问题竟然还要找专人回答
chuuuu 2009-07-05
  • 打赏
  • 举报
回复
顶。。。。。。。。
wujinjian2008n 2009-03-19
  • 打赏
  • 举报
回复
楼主把源码发出来
  • 打赏
  • 举报
回复
javascript语法本身相当简单(除了函数——实际上也是创建的一种对象——要比.net更动态灵活一些),稍加学习就可以了解。很奇怪,很多人似乎没有了解过javascript程序(例如超过20个函数、超过100条语句的程序)该如何写,就去开发asp.net应用了。

对于html标签也是这样,你要经常查看html标签都有那些属性、事件,也就可以了,它也是相当简单的,就像查字典就可以写好小学生作文一样,又不是让你写小说,所以html、javascript编程相当简单,我一般只是从asp.net控件的正确的使用问题的角度才会回复javascript使用问题。
jiangshun 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xuyiazl 的回复:]
如此高深的题!
[/Quote]

up
liubaohuazy 2009-03-19
  • 打赏
  • 举报
回复
再次感谢sp1234
volnet 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 57 楼 syc958 的回复:]
你这是想让教授去教小学生呀....
[/Quote]

楼主比较纯情啦,大家原谅他
cyz9977 2009-03-19
  • 打赏
  • 举报
回复
sp終于出現了~~~
syc958 2009-03-19
  • 打赏
  • 举报
回复
你这是想让教授去教小学生呀....
volnet 2009-03-19
  • 打赏
  • 举报
回复
我上面说过,用ID,可能你这里没有做到的就是怎么得到准确的ID呢?
我看了你昨天的回复,发现了你可能一些概念没搞懂。
比如ClientID,UniqueID,它们会分别称为最终的id="...",name="..."。
也就是在服务端你可以用ClientID就可以得到正确的ID了
你可能有N个t2是吧。
你的函数签名应该类似
foo(t1,t2,t3)
然后分别放在t1和t2的方法内,并检查是否t1,t2都有值,其他的算法已经在上面的回复中详细给出了,算是给了你一把渔……
liubaohuazy 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 sp1234 的回复:]
其实我只是关心开发人员是否知道要使用ClientID,因为我们会经常要求调整界面设计,于是可能把某个TextBox放入容器内,或者这是一个用户控件或者母版页,等等,实际上TextBox的客户端id是变动的,那些“看看程序运行时输出的id然后硬编码到设计代码中”的做法就不是我能够相信的开发人员,因为这个做法是破坏了代码的稳定安全运行的。

至于说javascript代码编写,我倒是不是特别在意!我觉得javascript技术很好的人未必可以胜…
[/Quote]
没有白等。答案完全正确,结贴!
lee_b 2009-03-19
  • 打赏
  • 举报
回复
RHCL 2009-03-19
  • 打赏
  • 举报
回复
喏~~
volnet 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 51 楼 qqhahazxxqq 的回复:]
貌似以前做过这类似的,原来都差不多,这里是加 还转换成立大写显示
JScript codefunctionsumMoney()
{varsumMoneys=0;if(document.getElementById("lblmatMoney").innerText!="")
{
sumMoneys=sumMoneys+parseInt(document.getElementById("lblmatMoney").innerText);
}if(document.getElementById("lbltimeMoney").innerText!="")
{
sumMoneys=sumMoneys+parseInt(document.getElementById("lbltimeMoney"…
[/Quote]

看了楼主昨天发的帖子,发现你这里用parseInt不能够满足它的需求,它需要的是一个小数,而且准确地说应该是只有2位有效数字的小数,形如$2.34
qqhahazxxqq 2009-03-19
  • 打赏
  • 举报
回复
貌似以前做过这类似的,原来都差不多,这里是加 还转换成立大写显示

function sumMoney()
{
var sumMoneys = 0 ;
if(document.getElementById("lblmatMoney").innerText != "")
{
sumMoneys =sumMoneys + parseInt(document.getElementById("lblmatMoney").innerText);
}
if(document.getElementById("lbltimeMoney").innerText != "")
{
sumMoneys =sumMoneys + parseInt(document.getElementById("lbltimeMoney").innerText);
}

if(document.getElementById("money1").value != "")
{
sumMoneys =sumMoneys + parseInt(document.getElementById("money1").value);
}
if(document.getElementById("money2").value != "")
{
sumMoneys =sumMoneys + parseInt(document.getElementById("money2").value) ;
}
moneyChangChina(sumMoneys);

}
function moneyChangChina(sumMoneys)
{
var intWan = 0 ;
var intQian = 0 ;
var intBai = 0 ;
var intShi = 0 ;
var intYuan = 0 ;
var strChina = "" ;
intWan = parseInt(sumMoneys / 10000) ;
intQian = parseInt(sumMoneys % 10000 /1000 ) ;
intBai = parseInt(sumMoneys % 1000 /100) ;
intShi = parseInt(sumMoneys % 100 /10) ;
intYuan = parseInt(sumMoneys % 10) ;
strChina = changeCh(intWan) + "万" + changeCh(intQian) + "仟" + changeCh(intBai) + "佰" + changeCh(intShi) + "拾" + changeCh(intYuan) + "圆"
document.getElementById("txtSumMoneys").value = strChina ;
document.getElementById("hidSumMoneys").value = strChina ;
}
function changeCh(num)
{
var ChList = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
var strChinese = ChList[num];
return strChinese ;
}


<input onkeypress="if(event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;" value="0" name="money1" id="money1" onchange="sumMoney();" runat="server" maxlength="4" />

<input onkeypress="if(event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;" value="0" name="money2" id="money2" onchange="sumMoney();" runat="server" maxlength="4" />

<input name="txtSumMoneys" id="txtSumMoneys" disabled="disabled" onchange="sumMoney();" size="50" runat="server" />
volnet 2009-03-19
  • 打赏
  • 举报
回复
不知道楼主想要得到什么,我觉得楼主是想弄个一百楼出来,我们满足他一下,多留废话。啊哈
路人乙e 2009-03-19
  • 打赏
  • 举报
回复
貌似楼主真有困难

<asp:TextBox ID="t1" runat="server"> </asp:TextBox>
<asp:TextBox ID="t2" runat="server"> </asp:TextBox>
<asp:TextBox ID="t3" runat="server"> </asp:TextBox>
<script>
window.onload = function(){
document.getElementById("<%=t2.ClientID%>").onblur = setT3;
};
function setT3(){
try{
document.getElementById("<%=t3.ClientID%>").value = parseInt(document.getElementById("<%=t1.ClientID%>").value)*parseInt(document.getElementById("<%=t2.ClientID%>").value);
}catch(er){alert("请输入数字");}
}
</script>
sharpblade 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 liubaohuazy 的回复:]
这样的话就会网页错误。找不到控件。
[/Quote]

你先理解一下ClientID,
顺便了解一下ID,UniqueID
  • 打赏
  • 举报
回复
.生成一个javascript函数脚本,用于计算t1与t2的乘积。
.这个动态创建的函数就是t3的私有方法,所以函数对象设置为t3的属性。
.在asp.net上将脚本注册到页面上,这样才可能输出到客户端。使用GetHashCode().ToString,是避免给出一个重复的脚本key(重复的key会自动阻止脚本输出)。
.设置t1、t2的onblur。
volnet 2009-03-19
  • 打赏
  • 举报
回复
[Quote=引用 43 楼 volnet 的回复:]
有三服务器控件(textbox)分别命名为 t1,t2,t3.
用JavaScript实现
当光标离开t2的时候,t3=t1*t2

看来你要连javascript怎么写也说说:
1、首先要逮着控件,我不管你服务端名叫阿猫还是阿狗,到客户端,你长啥样就可以了,当然还是叫t1,t2,t3,但不排除其他情况。总之在写的时候要知道。
2、要获取t1和t2的值对吧,当然既然是textbox,那就允许有非数字,而非数字是不可以×的,即便可以也不是你要的结果,所以先要判断是…
[/Quote]

另外,既然是t2离开的时候,那可能t1还没有值,这时候就要小做判断了!
加载更多回复(45)

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧