老师,麻烦检查一下代码
来源:4-8 编程练习
林迦叶
2019-10-17 16:45:30
<!DOCTYPE html> <html> <head> <title> 事件</title> </head> <body> <input type='text' id='num1' /> <select id='operate'> <option value='+'>+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <input type='text' id='num2' /> <input type='button' value=' = ' onclick="count()" /> <input type='text' id='result' /> <script type="text/javascript"> function count() { // 此处写代码 var getElem = function( selector ){ return document.querySelector(selector); } var formerInput = getElem('#num1'); var laterInput = getElem('#num2'); var result = getElem('#result'); var sign = getElem('#operate'); var options = sign.getElementsByTagName('option'); // 绑定事件 sign.onchange=function(){ switch (this.value) { case '+': outputResult(add(formerInput.value, laterInput.value)); break; case '-': outputResult(subtract(formerInput.value, laterInput.value)); break; case '*': outputResult(multiply(formerInput.value, laterInput.value)); break; case '/': outputResult(divide(formerInput.value, laterInput.value)); break; } } // 加法 function add(num1, num2) { return +num1 + +num2; } // 减法 function subtract(num1, num2) { return num1 - num2; } // 乘法 function multiply(num1, num2) { return num1 * num2; } // 除法 function divide(num1, num2) { return num1 / num2; } // 输出结果 function outputResult(outcome){ result.value = outcome; } } </script> </body> </html>
在switch判断那里好像出了小问题
1回答
同学你好,使用同学的代码进行测试,是有问题的。
当在输入框中输入了数字,点击=号时,并不会计算出结果,如下:
建议:去掉onchange事件,判断sign.value就可以。
代码参考:
祝学习愉快~
相似问题