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

点按钮没有反应

//到底哪里错了。。。

<!DOCTYPE html>


<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

    var result="";   

    //获取第一个输入框的值

    var num1=document.getElementById("txt1").value;

//获取第二个输入框的值

var num2=document.getElementById("txt2").value;

//var num1=parseFloat(a);

//var num2=parseFloat(b);

//获取选择框的值

var do = documentd.getElementById("select").value;

//获取通过下拉框来选择的值来改变加减乘除的运算法则

switch(do)

{

   case '+:

       result=parseFloat(num1)+parseFloat(num2);

       break;

   case '-:

       result=parseFloat(num1)-parseFloat(num2);

       break;

   case '*:

       result=parseFloat(num1)*parseFloat(num2);

       break;

   case '/:

       result=parseFloat(num1)/parseFloat(num2);

       break;

}

    //设置结果输入框的值 

    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>


正在回答

5 回答

case后面标点缺失

1 回复 有任何疑惑可以回复我~
#1

慕圣3049425 提问者

我自己都没看出来,谢谢你的耐心!
2017-02-22 回复 有任何疑惑可以回复我~

因为document.getElementById("txt1")得到的是元素对象,也就是id为txt1的对象,这时候咱们要取到里面的数值,因为input里面有个value属性,value是多少,input框里就会显示多少,咱们要取框里的值自然就是:元素对象.value 也就是document.getElementById("txt1").value

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

慕圣3049425 提问者

非常感谢(。^▽^)
2017-02-23 回复 有任何疑惑可以回复我~

var num1=document.getElementById("txt1").value;这后面加.vaule是什么意思?

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

慕圣3049425 提问者

对象的值,我是这么理解的。
2017-02-22 回复 有任何疑惑可以回复我~
#2

微小唯

不能那样理解,写成这样是HTML DOM 取到标签里面有一个属性value的值<input >,在核心DOM中就是这样写 document.getElementById('txt1').getAttribute('value'),这两种写法是等价的
2017-02-22 回复 有任何疑惑可以回复我~
#3

微小唯 回复 学习使我进步

因为document.getElementById("txt1")得到的是元素对象,也就是id为txt1的对象,这时候咱们要取到里面的数值,因为input里面有个value属性,value是多少,input框里就会显示多少,咱们要取框里的值自然就是:元素对象.value 也就是document.getElementById("txt1").value
2017-02-23 回复 有任何疑惑可以回复我~
查看1条回复

问题比较多,多看看基本知识点吧,下面我给你改的代码,大体思路没动可以运行。

<script type="text/javascript">

   function count(){

    var result="";   

    //获取第一个输入框的值

    var num1=document.getElementById("txt1").value;

//获取第二个输入框的值

var num2=document.getElementById("txt2").value;

//var num1=parseFloat(a);

//var num2=parseFloat(b);

//获取选择框的值

var doe = document.getElementById("select");

var index=doe.selectedIndex;

var res=doe.options[index].value;

//获取通过下拉框来选择的值来改变加减乘除的运算法则

switch(res)

{

   case '+':

       result=parseFloat(num1)+parseFloat(num2);

  console.log(result);

       break;

   case '-':

       result=parseFloat(num1)-parseFloat(num2);

       break;

   case '*':

       result=parseFloat(num1)*parseFloat(num2);

       break;

   case '/':

       result=parseFloat(num1)/parseFloat(num2);

       break;

}

    //设置结果输入框的值 

   var inp=document.getElementById("fruit").value=result;

   //console.log(result);

  // btn.value=result;

   }

  </script> 


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

慕圣3049425 提问者

你好,谢谢你的回答。但我还有一点不懂: var inp=document.getElementById("fruit").value=result;为什么把要把document.getElementById("fruit").value的值赋给变量inp呢,inp的作用是什么?
2017-02-22 回复 有任何疑惑可以回复我~
#2

微小唯 回复 慕圣3049425 提问者

这个我测试的,可以不用,我忘记删除了
2017-02-22 回复 有任何疑惑可以回复我~
#3

慕圣3049425 提问者 回复 微小唯

好的,谢谢o( ̄▽ ̄)d
2017-02-22 回复 有任何疑惑可以回复我~

case后面标点符号错误,

var do = documentd.getElementById("select").value;中不能使用do关键字,,还有document单词要准确

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

慕圣3049425 提问者

谢谢你耐心看完并找出错误!
2017-02-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468043    人
  • 解答问题       21891    个

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

进入课程

点按钮没有反应

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