算了,不折腾了,先这样凑合着用:<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>
<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>
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>
alert(Number(dy)+js+Number(dr));//输出1+1,想让它输出1+1的和
不行啊,还是输出“1+13”
parseInt我也用过了,不行我觉得问题出在那个运算符号上,得用个啥转换下,代码才知道它是个运算符,否则估计把它当字符串了。
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>
这样:dy*1+js*1+dr*1
输出的就是和,这样它就知道是数字的加法,不是字符串的连接了
<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>