这个代码为什么不能运行?

来源:6-11 编程练习

Fornow

2015-10-08 15:04


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

这个代码不知道哪里出问题了额。。。

写回答 关注

2回答

  • pardon110
    2015-10-08 16:06:12
    已采纳

    有一个事件绑定语法错误,和一个逻辑错误。具体错误地点如下加粗部分

    35 <input type='button' value=' = ' onclick=count()/>     

    11 var cul=parseInt(document.getElementById("select").value);    

    分析

    35行,事件绑定语法书写错误,变更为'count()'

    11行,去掉加粗代码,此处要获取的是运算字符,而非数字。

  • Y_du
    2015-10-08 15:47:39
    <!DOCTYPE html>
    <html>
     <head>
      <title> 事件</title>  
      <script type="text/javascript">
       function count(){
        var num1=parseInt(document.getElementById("txt1").value);   
        //获取第一个输入框的值
        var num2=parseInt(document.getElementById("txt2").value);
        //获取第二个输入框的值
        var cul=document.getElementById("select").value;
        //获取选择框的值
        //获取通过下拉框来选择的值来改变加减乘除的运算法则
        //设置结果输入框的值 
        var result="";
        switch(cul){
            case '+': result=num1+num2;break;
            case '-': result=num1-num2;break;
            case '*': result=num1*num2;break;
            case '/': result=num1/num2;break;
        }
        debugger
        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>

    两个问题,分别在你的代码的11行和35行。

    Y_du

    22行的debugger去掉

    2015-10-08 15:48:58

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题