javascript如何输出计算结果?

MMpro 2007-03-23 04:49:34

<script language="javascript">
function jsq()
{
var dy=document.myform.dy.value;
var dr=document.myform.dr.value;
for (var i=0;i<myform.js.length;i++)
{
var e=myform.js[i];
if (e.checked)
js=e.value;
}
alert(dy+js+dr);//输出1+1,想让它输出1+1的和
document.myform.jg.value=Math.round(dy+js+dr);
}
</script>


<form id="myform" name="myform" method="post" action="">
<td height="50" align="center"><input name="dy" type="text" id="dy" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false;"/>
<input type="radio" name="js" value="+"<% if request.form("js")="+" then %> checked="checked"<% end if %>/>+
<input name="js" type="radio" value="-"<% if request.form("js")="-" or request.form("js")="" then %> checked="checked"<% end if %> />-
<input type="radio" name="js" value="*"<% if request.form("js")="*" then %> checked="checked"<% end if %>/>×
<input type="radio" name="js" value="/"<% if request.form("js")="/" then %> checked="checked"<% end if %>/>÷
<input name="dr" type="text" id="dr" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false;"/>
<input type="button" name="Submit" value="计算" onClick="jsq();" />

<input name="jg" type="text" id="jg" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false;"/> </td>
</form>
...全文
713 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmcgzs 2007-03-24
  • 打赏
  • 举报
回复

<script language="javascript">
function jsq()
{
var dy=Number(document.myform.dy.value);
var dr=Number(document.myform.dr.value);
for (var i=0;i<myform.js.length;i++)
{
var e=myform.js[i];
if (e.checked)
js=e.value;
}
alert(dy+js+dr);//输出1+1,想让它输出1+1的和
document.myform.jg.value=eval(dy+js+dr);
}
</script>
kangqin 2007-03-23
  • 打赏
  • 举报
回复
怎么都不看别人帖的代码,自己瞎琢磨什么,我上面帖的代码不是已经实现了吗。
atttongmu 2007-03-23
  • 打赏
  • 举报
回复
dy+js+dr
这样:dy*1+js*1+dr*1
输出的就是和,这样它就知道是数字的加法,不是字符串的连接了
MMpro 2007-03-23
  • 打赏
  • 举报
回复
谁有好方法了再使,嘿嘿,谢谢大伙儿了。。。
MMpro 2007-03-23
  • 打赏
  • 举报
回复
算了,不折腾了,先这样凑合着用:

<script language="javascript">
function jsq()
{
var dy=document.myform.dy.value;
var dr=document.myform.dr.value;
for (var i=0;i<myform.js.length;i++)
{
var e=myform.js[i];
if (e.checked)
js=e.value;
}
if (js=="+")
{
//alert(Number(dy)+Number(dr));//输出1+1,想让它输出1+1的和
document.myform.jg.value=Math.round(Number(dy)+Number(dr));
}
else if (js=="-")
{
document.myform.jg.value=Math.round(Number(dy)-Number(dr));
}
else if (js=="*")
{
document.myform.jg.value=Math.round(Number(dy)*Number(dr));
}
else if (js=="/")
{
document.myform.jg.value=Math.round(Number(dy)/Number(dr));
}
else
{
document.myform.jg.value="非法操作!";
}
}
</script>
z109876543210 2007-03-23
  • 打赏
  • 举报
回复
alert(Number(dy)+Number(js)+Number(dr));//中间那个怎么不加?
MMpro 2007-03-23
  • 打赏
  • 举报
回复
这样吗:
alert(Number(dy)+js+Number(dr));//输出1+1,想让它输出1+1的和
不行啊,还是输出“1+13”
parseInt我也用过了,不行

我觉得问题出在那个运算符号上,得用个啥转换下,代码才知道它是个运算符,否则估计把它当字符串了。
kangqin 2007-03-23
  • 打赏
  • 举报
回复
<script language="javascript">
function jsq()
{
var dy=document.myform.dy.value;
var dr=document.myform.dr.value;
for (var i=0;i<myform.js.length;i++)
{
var e=myform.js[i];
if (e.checked)
js=e.value;
}
alert(dy+js+dr);//输出1+1,想让它输出1+1的和
document.myform.jg.value=eval(dy+js+dr);
}
</script>


<form id="myform" name="myform" method="post" action="">
<td height="50" align="center"><input name="dy" type="text" id="dy" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false;"/>
<input type="radio" name="js" value="+"/>+
<input name="js" type="radio" value="-"/>-
<input type="radio" name="js" value="*"/>×
<input type="radio" name="js" value="/"/>÷
<input name="dr" type="text" id="dr" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false;"/>
<input type="button" name="Submit" value="计算" onClick="jsq();" />

<input name="jg" type="text" id="jg" onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false;"/> </td>
</form>
z109876543210 2007-03-23
  • 打赏
  • 举报
回复
Number(var)
转换下
如果是整形还可以parseInt(var)

87,904

社区成员

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

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