| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2055 人关注过本帖
标题:一个关于js乘除法的问题,请教…………
只看楼主 加入收藏
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
 问题点数:0 回复次数:8 
一个关于js乘除法的问题,请教…………

表单中,三个textarea,分别命名是:num1,num2,num3,我想问一下,如何通过表单的js代码实现,当输入完num1,num2时,自动得出num3的结果,公式是:num1/num2=num3或者不自动得出num3的结果,而直接通过输入结果后,通过提交的时候检测结果是否正确?通过asp代码能不能即时在网页中显示出来,即在鼠标点击num3输入框的时候自动出结果,更改了前面的数值的时候也会自动出结果的,抑或有一个计算器按钮在里面,不过form里面是不能再嵌入form的了,如果在后台通过ASP代码我或计算出来,可是直接在页面上就显示结果,还不会,请教大家了。

大家能给个示范代码吗?

搜索更多相关主题的帖子: 乘除法 计算器 鼠标 form 结果 
2006-11-13 17:32
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

<script language="JavaScript">
function Num_Focus()
{
if(document.Form1.num1.value=="")
{
alert('num1为空');
return false;
}
if(!IsNumber(document.Form1.num1.value))
{
alert('num1非数字');
return false;
}
if(document.Form1.num2.value=="")
{
alert('num2为空');
return false;
}
if(!IsNumber(document.Form1.num2.value))
{
alert('num2非数字');
return false;
}
var NuA=parseInt(document.Form1.num1.value);
var NuB=parseInt(document.Form1.num2.value);
document.Form1.num3.value=NuA/NuB;
document.Form1.num3.value=getDint();
}
function getDint()
{
var DType=document.Form1.num3.value;
var DAry=DType.split(".");
var DNum=DAry[1].substr(0,1);
var INum=parseInt(DNum);
if(DNum>4)
{
return parseInt(DAry[0])+1;
}
else
{
return DAry[0];
}}
function IsNumber(val)
{
var IsNum;
try
{
var Temp=eval(val+"1");
IsNum=true;
}
catch(e)
{
IsNum=false;
}
return IsNum;
}
</script>
<form name="Form1" >
<textarea style="width:100px;height:100px;" name="num1" >num1</textarea>num1<br>
<textarea style="width:100px;height:100px;" name="num2" >num2</textarea>num2<br>
<textarea style="width:100px;height:100px;" onFocus="Num_Focus();" name="num3" >num3</textarea>num3<br>
</form>



[此贴子已经被作者于2006-11-15 14:32:14编辑过]

2006-11-13 21:23
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
得分:0 
谢谢版主…………

2006-11-14 09:01
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
得分:0 
顺便再请教一下yms123,上面的代码计算的结果小数点后面有15位数字,我能不能改成两位,四舍五入,应该怎么改好?

2006-11-15 10:25
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

function getDint()
{
var DType=document.Form1.num3.value;
var DAry=DType.split(".");
var DNum=DAry[1].substr(0,1);
var INum=parseInt(DNum);
if(DNum>4)
{
return parseInt(DAry[0])+1;
}
else
{
return DAry[0];
}
}
个人写的四舍五入函数(只计算小数位第一个数的四舍五入)。

2006-11-15 14:33
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
得分:0 
你给的第一段代码已经有四舍五入的了,只是小数点后面的数字位数太多,能不能减少到两位…………

2006-11-15 14:35
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

function getDint()
{
var DType=document.Form1.num3.value;//得到第一次除法后的字符串
var DAry=DType.split(".");//取得小数点前后的数
var DNum=DAry[1].substr(2,1);//取得四舍五入后面的数
var FNum=DAry[1].substr(0,2);//取得四舍五入前面的数
var INum=parseInt(DNum);//类型转换
var TNum;//存储计算后的结果
if(DNum>4)//判断后面的数是否大于4
{
TNum=parseInt(FNum)+1;//将前面的数加1
}
else
{
TNum=parseInt(FNum);//原样输出前面的数
}
return DAry[0]+"."+TNum;
}
改进后四舍五入小数点后两位数的函数。

2006-11-15 14:43
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
回复:(在编程中沦落)你给的第一段代码已经有四舍五...
以下是引用在编程中沦落在2006-11-15 14:35:48的发言:
你给的第一段代码已经有四舍五入的了,只是小数点后面的数字位数太多,能不能减少到两位…………

我那个帖子已经编辑过了,里面有一个getDint()的函数,把我写的四舍五入两位或一位的函数替换原有的函数,就可以实现四舍五一位或两位入小数。

2006-11-15 14:46
在编程中沦落
Rank: 2
等 级:新手上路
威 望:4
帖 子:411
专家分:0
注 册:2005-12-25
收藏
得分:0 

好,行了,谢谢版主,刚刚没看到你编辑过的东西…………

不好意思…………

[此贴子已经被作者于2006-11-15 15:01:37编辑过]


2006-11-15 14:55
快速回复:一个关于js乘除法的问题,请教…………
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019189 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved