javascript - HTML按钮没有消失?
问题描述
我试图让结果按钮在按下时消失,但我不能。我不明白这里有什么问题?
另外,我如何将输入到 n1 和 n2 字段中的参数传递到我的 jQuery 脚本中?
<!DOCTYPE html>
<html>
<head>
<title>javascript: calculate two numbers</title>
<meta charset="windows-1252">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<h1> A Basic Calculator</h1>
<script src="jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#result").click(function(){
$("#result").hide();
});
});
</script>
<body>
<b>Enter Number 1:</b>
<input type="text" id="n1"/><br/><br/>
<b>Enter Number 2:</b>
<input type="text" id="n2" name="n2"/><br/><br/>
<select id="operators">
<option value="+">+</option>
<option value="-">-</option>
<option value="/">/</option>
<option value="X">X</option>
</select>
<button id="result">=</button>
<input type="text" id="result"/>
</body>
</html>
解决方案
您应该重组代码以使用 a <form>
,并使用 vanilla javascript 而不是 jQuery(您似乎遇到了导入问题):
document.querySelector('form#calculator').addEventListener('submit', function (e) {
e.preventDefault()
const n1 = this.querySelector('input#n1').value
const n2 = this.querySelector('input#n2').value
const operator = this.querySelector('select#operators').value
const result = eval(n1 + operator + n2)
this.querySelector('button#result').style.display = "none"
this.querySelector('input#result').value = result
})
<form id="calculator">
<b>Enter Number 1:</b>
<input type="number" id="n1" name="n1" required /><br/><br/>
<b>Enter Number 2:</b>
<input type="number" id="n2" name="n2" required /><br/><br/>
<select id="operators">
<option value="+">+</option>
<option value="-">-</option>
<option value="/">/</option>
<option value="x">x</option>
</select>
<button id="result">=</button>
<input type="text" id="result"/>
</form>
推荐阅读
- swift - 如何在 Swift 5 中将歌曲从我的应用程序上传或推送到 iPhone 音乐库
- python - numpy 将嵌套的数组数组查看为一维数组
- regression - model.frame.default 中的错误:可变长度不同(为“(权重)”找到)
- javascript - 如何从 MediaWiki 页面获取可编辑的类别
- python - 将 python3 作为我在 Mac 上用于 Fish shell 的默认 python
- maven - 并行运行时如何防止来自同一存储库的 Jenkins 作业之间的竞争条件
- reactjs - Nextjs中下一页之前的页面转换
- flutter - Flutter:Android:如何从另一个文件调用 setState()?
- python - Python jsonpath-ng:如何从 jsonpath 和值构建 json 文档?
- typescript - 打字稿地图
> “没有重载匹配这个调用”,但我不明白为什么?