为了账号安全,请及时绑定邮箱和手机立即绑定

帮忙看下这里的问题!!!

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
       
    //获取第一个输入框的值
    var a=document.getElementById("txt1").value;
    
	//获取第二个输入框的值
    var b=document.getElementById("txt2").value;
    
	//获取选择框的值
    var c=document.getElementById("select").value;
    
	//获取通过下拉框来选择的值来改变加减乘除的运算法则
    var ia=parseInt(a);
    var ib=parseInt(b);
    if((ia===a)&&(ib===b))
    {
      switch(c)
        {
            case "+":
                document.getElementById("fruit").value=a+b;
                break;
            case "-":
                document.getElementById("fruit").value=a-b;
                break;
            case "*":
                document.getElementById("fruit").value=a*b;
                break;
            case "/":
                if(b==0)
                    {
                        alert("被除数不能为0");
                    }
                else{document.getElementById("fruit").value=a/b;}
                break;
        }
        document.write(document.getElementById("fruit"));
    }
    else
    {alert("请输入整数");}
    //设置结果输入框的值 

   }
  </script> 
 </head> 
 <body>
   <input type='text' id='txt1' /> 
   <select id='select'>
		<option value='+'>+</option>
		<option value="-">-</option>
		<option value="*">*</option>
		<option value="/">/</option>
   </select>
   <input type='text' id='txt2' /> 
   <input type='button' value=' = ' onclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果--> 
   <input type='text' id='fruit' />   
 </body>
</html>

1. 整数不起作用。 我这里的意图是:判断是否为整数,如果是,则继续,不是则弹出提示

2.  加号问题:为什么选择加法的时候,成了两个数字组合了?

     比如,1+2  变成了 12  ;     2+6 变成 26

3. 

var ia=parseInt(a);
var ib=parseInt(b);
if((ia===a)||ib===b)

    加入这段是对的,那么,是否可以用下面这个替换?

if((parseInt(a)===a)||(parseInt(b)===b))


正在回答

3 回答

另外你用parseIn()已近强行把输入的字符串强转为整数了又何必再判断是不是整数?你要判断的是强转之后得到的这个值是不是数字才对,因为有些字符串用parseIn()是不能强转的,最终得到的是NaN;那么你用这个NaN再进行计算就会得到NaN

0 回复 有任何疑惑可以回复我~

页面上获取的值,包括数字都会被当成字符串,所以你获取到的a,b都是字符串。搞清楚这个其他问题也就是小问题了

0 回复 有任何疑惑可以回复我~

把case后面的a+b,a-b,a*b,a/b都改成ia,ib。因为你是要进行整数运算的,所以这里也要使用整数,而a ,b是字符串,a+b表示字符串的拼接而不是整数相加。

===表示完全相等,即数据类型也必须相同,ia,ib是整型,a,b是字符串,你的判断结果都会是不成立。

另外你 alert("被除数不能为0");这行代码的分号写成中文符号了。

0 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

帮忙看下这里的问题!!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信