怎样让网页自动计算用户输入的数据(续)?

chate 2010-04-18 12:59:49
在文本框输入“2”(语句中乘以3),自动得出结果“6”的简单计算已结贴:http://topic.csdn.net/u/20100416/17/937b1e04-27f9-4bce-bb8b-3eb68848f469.html?871803104
稍微复杂一点也可以。如,“(?-3)*2.65”:
<body>
<input type="text" name="textfield" onkeyup="document.getElementById('a').innerHTML=(this.value-3)*2.65" />×3=<span id="a"></span>
</body>

但是,更复杂的计算语句怎么写呢?
现在我想在两个文本框分别输入数据后,计算这两个文本框输入数值的差,然后再用这个差乘以一个固定系数,再除以一个固定日期和今天的日期的差(天数),怎样自动得出结果?
如:
<body>
(<input type="text" name="textfield1">-<input type="text" name="textfield2">)*2/(2111年9月17日-当前日期)= (在这里自动显示结果)
</body>
...全文
339 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
chate 2010-04-20
  • 打赏
  • 举报
回复
在IE8测试通过!
感谢Free_Wind22!
加分结贴!
chate 2010-04-20
  • 打赏
  • 举报
回复
我没什么基础。但看了你这个例子已经大体明白怎么做了。在单位用的是IE6,回家试试IE8,应该没问题:)
chate 2010-04-20
  • 打赏
  • 举报
回复
对!在网上搜了一下也是这个结果,已经好了!
回去再试试IE8,成功了就加分结贴:)
谢谢你!
2010-04-20
  • 打赏
  • 举报
回复
把代码里的2个 parseInt 换成 parseFloat 就可以了
chate 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 free_wind22 的回复:]
HTML code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script type="text/javascript">
function $(id){
……
[/Quote]
在不同浏览器试过了,可以计算。但是为什么输入小数不起作用?小数点后的数字全被忽略了!
这需要修改哪里啊?
2010-04-19
  • 打赏
  • 举报
回复

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script type="text/javascript">
function $(id){
return document.getElementById(id);
}
function cal(){
var val1 = parseInt($("txt1").value, 10), val2 = parseInt($("txt2").value, 10);
if(isNaN(val1) || isNaN(val2)){
return;
}
var time = new Date("2111/9/17") - new Date(new Date().toLocaleDateString().replace(/年|月/g, "/").replace("日", ""));
var ret = ( val1 - val2 ) * 2 / (time / (24 * 60 * 60 * 1000));
$("txt3").value = ret;
}
</script>
</HEAD>

<BODY>
<input type="text" id="txt1" onkeyup="cal()" /> -
<input type="text" id="txt2" onkeyup="cal()" /> =
<input type="text" id="txt3" readonly="readonly" />
</BODY>
</HTML>
chate 2010-04-19
  • 打赏
  • 举报
回复
谢谢楼上二位!能给出具体代码吗?
我大概没写清楚,文本框输入的都是数据。比如,两个文本框里分别输入211和101,怎样让这两个值相减?还有就是当前日期和固定日期相减的天数怎么计算。
我基础不好,可以给出具体代码吗?就像这样:
<body>
(<input type="text" name="textfield1">-<input type="text" name="textfield2">)*2/(2111年9月17日-当前日期)= (在这里自动显示结果)
</body>

谢谢了!
2010-04-19
  • 打赏
  • 举报
回复

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script type="text/javascript">
function $(id){
return document.getElementById(id);
}
function cal(){
var val1 = parseInt($("txt1").value, 10), val2 = parseInt($("txt2").value, 10);
if(isNaN(val1) || isNaN(val2)){
return;
}
var d = new Date(), time = new Date("2111/9/17") - new Date(d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate());
var ret = ( val1 - val2 ) * 2 / (time / (24 * 60 * 60 * 1000));
$("txt3").value = ret;
}
</script>
</HEAD>

<BODY>
<input type="text" id="txt1" onkeyup="cal()" /> -
<input type="text" id="txt2" onkeyup="cal()" /> =
<input type="text" id="txt3" readonly="readonly" />
</BODY>
</HTML>


可能你的系统不一样,在日期转换那出问题了,现改了下~
chate 2010-04-19
  • 打赏
  • 举报
回复
示例计算是这样,如:
(211-101)*2/天数=?
其中的“天数”为2111年9月17日和当前日期的差值。“211”和“101”这样的数字在文本框数入。
chate 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 free_wind22 的回复:]
HTML code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script type="text/javascript">
function $(id){
……
[/Quote]
谢谢!
无论输入什么数,计算结果均为“NaN”?
而且结果不必在文本框里。
yujiayou 2010-04-18
  • 打赏
  • 举报
回复
取得你文本框的value
把日期的天数用getDate();转出来计算及行了
licip 2010-04-18
  • 打赏
  • 举报
回复
你把输入的字符串转成日期。去看看javaScript Date的用法,你就会明白了。

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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