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

点击等号没反应。自己看不出来,不知道哪里错了

<html>
 <head>
  <title> 事件</title> 
  <script type="text/javascript">
   function count(){
      
   var oTxt1= document.getElementById("txt1").value;//获取第一个输入框的值
   var oTxt2=document.getElementById("txt2").value;//获取第二个输入框的值
    var oSlt=document.getElementById("select").value;//获取选择框的值
 var result="";
 switch(oSlt){
     case "+":
         result=parseFloat(oTxt1)+parseFloat(oTxt2);
         break;
     case "-":
         result=parseFloat(oTxt1)-parseFloat(oTxt2);
         break;
     case "*":
         result=parseFloat(oTxt1)*parseFloat(oTxt2);
         break;
     default:
         result=parseFloat(oTxt1)/parseFloat(oTxt2);
 }//获取通过下拉框来选择的值来改变加减乘除的运算法则
   document.getElementById("fruit").value=result;//设置结果输入框的值
   
   }
  </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>

提问者:renxuelei 2017-03-20 13:43

个回答

  • Dod_Annie
    2017-03-20 14:48:03

    oncclick后面的count()放在引号里面。还有把Script放在body底部,不然有些ID取不到

    <html>
     <head>
      <title> 事件</title>  
     
     </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'>   
        <script type="text/javascript">
       function count(){
           
       var oTxt1= document.getElementById("txt1").value;//获取第一个输入框的值
       var oTxt2=document.getElementById("txt2").value;//获取第二个输入框的值
        var oSlt=document.getElementById("select").value;//获取选择框的值
     var result="";
     switch(oSlt){
         case "+":
             result=parseFloat(oTxt1)+parseFloat(oTxt2);
             break;
         case "-":
             result=parseFloat(oTxt1)-parseFloat(oTxt2);
             break;
         case "*":
             result=parseFloat(oTxt1)*parseFloat(oTxt2);
             break;
         default:
             result=parseFloat(oTxt1)/parseFloat(oTxt2);
     }//获取通过下拉框来选择的值来改变加减乘除的运算法则
       document.getElementById("fruit").value=result;//设置结果输入框的值 
        
       }
      </script> 
     </body>
    </html>


  • 慕粉1412332127
    2017-03-20 14:44:45

    我找到问题啦~~ 因为你的“等号”的那个函数,其实点击之后没有真正去触发你的代码函数。你的代码写成了: <input type='button' value=' = ' onclick=count()/> <!--通过 = 按钮来调用创建的函数,得到结果--> 

    然而实际应该是写成:onclick="count()" 。你少了两个双引号,故而没有调用到函数囖。