问答详情
源自:6-11 编程练习

为什么提示NaN,别人的代码为什么要加value

<script type="text/javascript"> 
function hs(){  
     var d;
 //获取第一个输入框的值   
 var a= document.getElementById("txt1");	
 //获取第二个输入框的值	
 var b= document.getElementById("txt2");	
 //获取选择框的值
 var c= document.getElementById("select");    
 //获取通过下拉框来选择的值来改变加减乘除的运算法则   
  switch (c){       
   case "+":      
    d = parseInt(a)+parseInt(b);     
    break; 
     
   case "-":
   d=a-b; 
   break;
     
   case "*": 
   d=a*b;        
   break;   
 
  default:   
  d=a/b;    }   
  //设置结果输入框的值      
    document.getElementById('fruit').value=d;    }  
        </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=' = ' /> <!--通过 = 按钮来调用创建的函数,得到结果--> 
       <input type='text' id='fruit' />    </body>


提问者:weixin_慕婉清6531712 2020-01-03 18:57

个回答

  • 故里飘絮
    2020-01-04 19:25:27

    document.getElementById("txt1");获取的是id为txt1的<input>这个标签元素

    document.getElementById("txt1").value;获取的是ID为txt1的<input>这个标签元素之间的value值.

    如果标签元素之间没有value属性则document.getElementById("txt1").value;没有有返回值.

    提示NaN的话,个人判断是d = parseInt(a)+parseInt(b);  的值解析错了.