<!DOCTYPE html> <html> <head> <title>事件</title> <script type="text/javascript"> function count(){ //获取第一个输入框的值 home1=document.getElementById("txt1").value; //获取第二个输入框的值 home2=document.getElementById("txt2").value; //获取选择框的值 home3=document.getElementById("select").value; //获取通过下拉框来选择的值来改变加减乘除的运算法则 switch(home3){ case "+": home4=home1+home2; break; case "-": home4=home1-home2; break; case "*": home4=home1*home2; break; case "/": home4=home1/home2; break; } //设置结果输入框的值 document.getElementById("fruit").value=home4; } </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>
+号的意义可能被识别为连接符,只有加号两端确定为数字时,才将加号作为加法处理
因为input标签的value是字符串格式,字符串相加就是拼接,而-*/都会自动先转成数字,再计算,因此,为了保证程序统一和可读,赋值的时候先将hom1和home2的value值的类型转换,利用parseInt(),如下:
home1=parseInt(document.getElementById("txt1").value); home2=parseInt(document.getElementById("txt2").value);
自带的符号啥的不能用吧。。