网页计算器 HTML+CSS+js 出现[object HTMLInputElement]

计算器

今天写了个小的网页计算器

<html>
	<head>
		<title>js计算器</title>
		<meta charset="UTF-8"/>
		<!--声明css代码域-->
		<style type="text/css">
			#showdiv{
				 border: solid 1px;
				 border-radius: 10px;/*设置边框角度*/
				 width: 320px;
				 height: 400px;
				 text-align: center;
				 margin: auto;
				 margin-top: 50px;
				 background-color: lemonchiffon;
			}
			input[type=text]{
				margin-top:20px ;
				width: 290px;
				height: 40px;
				font-size: 25px;
			}
			input[type=button]{
				width: 60px;
				height: 60px;
				margin-top: 20px;
				margin-left: 5px;
				margin-right: 5px;
				font-size: 30px;
				font-weight: bold;
			}
		</style>
		<!--声明js代码域-->
		<script type="text/javascript">
			/*声明函数*/
			function test(btn){
				/*获取按钮对象的value值*/
				var num=btn.value;
				/*将按钮的value值赋给text*/
				
				/*根据用户点击动作执行对应业务逻辑*/
				switch (num){
					case "=":
					
						document.getElementById("inp").value=eval(document.getElementById("inp").value)/*eval()方法可以把传入的字符串进行运算*/
						break;
					case "c":
					
					 	document.getElementById("inp").value="";
						break;
					default:
						document.getElementById("inp").value=document.getElementById("inp").value+num;
						break;
				}
				
				}
			
			
		</script>
	</head>
	<body>
		<div id="showdiv">
			<input type="text" name="" id="inp" value="" readonly="readonly"/><br />
			<input type="button" name="" id="" value="0" onclick="test(this)"/>
			<input type="button" name="" id="" value="1" onclick="test(this)"/>
			<input type="button" name="" id="" value="2" onclick="test(this)"/>
			<input type="button" name="" id="" value="3" onclick="test(this)"/><br />
			<input type="button" name="" id="" value="4" onclick="test(this)"/>
			<input type="button" name="" id="" value="5" onclick="test(this)"/>
			<input type="button" name="" id="" value="6" onclick="test(this)"/>
			<input type="button" name="" id="" value="7" onclick="test(this)"/><br />
			<input type="button" name="" id="" value="8" onclick="test(this)"/>
			<input type="button" name="" id="" value="9" onclick="test(this)"/>
			<input type="button" name="" id="" value="+" onclick="test(this)"/>
			<input type="button" name="" id="" value="-" onclick="test(this)"/><br />
			<input type="button" name="" id="" value="*" onclick="test(this)"/>
			<input type="button" name="" id="" value="/" onclick="test(this)"/>
			<input type="button" name="" id="" value="c" onclick="test(this)"/>
			<input type="button" name="" id="" value="=" onclick="test(this)"/>
		</div>
	</body>
</html>

效果如下

在这里插入图片描述

出现的问题

运用eval()方法时运算结果不对结果显示为[object HTMLInputElement]
在这里插入图片描述

解决

仔细看代码时发现运用eval时没有获取value!!!!!

case "=":
			document.getElementById("inp").value=eval(document.getElementById("inp")
			/*eval()方法可以把传入的字符串进行运算*/
			break;

应该这样

应该是

eval(document.getElementById("inp").value)

就是这样

case "=":
						document.getElementById("inp").value=eval(document.getElementById("inp").value)
						/*eval()方法可以把传入的字符串进行运算*/
						break;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值