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

求指教啊 看不出哪里的问题

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

正在回答

4 回答

sum=a*b; 你用了中文的分号,改成英文状态下的。

//设置结果输入框的值。应该把 sum的值直接赋给 fruit 框

document.getElementById("fruit").value = sum;

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

chaohua 提问者

非常感谢!
2018-08-09 回复 有任何疑惑可以回复我~

明白了,是我自己搞错了,原来loop=$a这个是写test.php变量名而不是写变量的值,只要把loop=$a改为loop=$article就可以了....

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

问题解决了


<!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 fm=document.getElementById("select").value;
    switch (fm){
        case "+":
        sum=parseInt(a)+parseInt(b);
        break;
        case "-":
        sum=parseInt(a)-parseInt(b);
        break;
        case "*":
        sum=parseInt(a)*parseInt(b);
        break;
        case "/":
        sum=parseInt(a)/parseInt(b);
        break;
        default:
        document.write("null")
    }
    //获取第一个输入框的值
 //获取第二个输入框的值
 //获取选择框的值
 //获取通过下拉框来选择的值来改变加减乘除的运算法则
    //设置结果输入框的值
    document.getElementById("fruit").value=sum;
   }
  </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>

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

ananiah123

为什么我写了 sum = parselnt(a)+parselnt(b);点击等号之后不显示结果 ? 写成sum = a -b;就可以正常显示(我把加法运算写成sum=a-(-b))。谢谢!
2018-08-15 回复 有任何疑惑可以回复我~
#2

chaohua 提问者 回复 ananiah123

检查一下拼写,或者标点符号,按理来说parseInt()是没问题的
2018-08-15 回复 有任何疑惑可以回复我~
#3

ananiah123 回复 chaohua 提问者

检查了 都没问题 。就是用parselnt()最后一个text的拿不到值 。
2018-08-15 回复 有任何疑惑可以回复我~

谢谢您 您说的问题我改了,然后我发现我的switch表达式没写对,我写成了  switch fm() 应该是  switch (fm).


但是加法还是有问题,比如1+2=12,这是哪里的问题?

完整代码如下:

<!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 fm=document.getElementById("select").value;
    switch (fm){
        case "+":
        sum=a+b;
        break;
        case "-":
        sum=a-b;
        break;
        case "*":
        sum=a*b;
        break;
        case "/":
        sum=a/b;
        break;
        default:
        document.write("null")
    }
    //获取第一个输入框的值
 //获取第二个输入框的值
 //获取选择框的值
 //获取通过下拉框来选择的值来改变加减乘除的运算法则
    //设置结果输入框的值
    document.getElementById("fruit").value=sum;
   }
  </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>

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

impqpqp

既然"+"会被识别为字符串叠加符号,可以试着用z=x-(-y)来实现z=x+y的功能。
2018-08-11 回复 有任何疑惑可以回复我~
#2

chaohua 提问者 回复 impqpqp

谢谢你的思路,也可以,后来我用了parseInt()
2018-08-11 回复 有任何疑惑可以回复我~
#3

impqpqp 回复 chaohua 提问者

parseInt()我一开始想到,可是我拼不出来。。。
2018-08-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求指教啊 看不出哪里的问题

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