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

来源:6-11 编程练习

兔八戒

2016-04-24 14:50

<!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回答

  • 万卷古今消永日
    2016-05-03 14:10:23

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

  • 万卷古今消永日
    2016-05-03 14:03:27

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

  • WorkwithEason
    2016-04-24 16:44:09

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

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

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

    共 4 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468062 学习 · 21891 问题

查看课程

相似问题