javascript - 文本显示并在 JavaScript 中再次消失
问题描述
我不知道发生了什么。我正在输入要解决的操作的值,但是当它显示结果时,它会显示但仅在很短的时间内显示。
function add(){
var num1 = document.getElementById('fnum').value;
var num2 = document.getElementById('snum').value;
var ans = parseFloat(num1) + parseFloat(num2);
document.getElementById('res').value = ans;
}
<form>
1st Number:<input type="text" id="fnum" name="Num1" /><br>
2nd Number:<input type="text" id="snum" name="Num2" /><br><br>
<input type="submit" value="Add" id="button1" name="button" onclick="add()"/>
The result is:<input type="text" id="res" name="res" readonly="true" /><br>
</form>
解决方案
因为您正在使用<form>
带有 a 的标签<button type="submit">
,所以表单已提交。
所以发生的事情是你的onclick
事件被处理了,但是当它完成后,表单仍然被提交。您有多种方法可以解决此问题:
- 不要使用
<form>
<button>
将类型更改为button
- 在 JavaScript 中处理表单提交
- 取消点击事件
<form>
这是一个没有标签的工作版本,并且<button type="button">
:
function add() {
var num1 = document.getElementById('fnum').value;
var num2 = document.getElementById('snum').value;
var ans = parseFloat(num1) + parseFloat(num2);
document.getElementById('res').value = ans;
}
1st Number:<input type="text" id="fnum" name="Num1" /><br>
2nd Number:<input type="text" id="snum" name="Num2" /><br><br>
<input type="button" value="Add" id="button1" name="button" onclick="add()" />
The result is:<input type="text" id="res" name="res" readonly="true" /><br>
推荐阅读
- reactjs - 我应该使用哪种组件来通知用户操作已成功完成?
- javascript - 如何处理 DiscordAPIError:删除角色时 discord.js 中缺少权限
- reactjs - useEffect 停止使用 redux 重新渲染
- reactjs - Azure 部署失败连接错误 NPM 注册表 ESOCKETTIMEDOUT
- flask - 输入数组并保存在烧瓶中
- excel - 我们可以使用 NiFi 将不同的 csv 文件合并到一个 excel 文件中吗
- c++ - 资源受限 MCU 上绑定成员函数的 C++ 包装器
- python-3.x - 使用 docx2pdf 在 django 中将上传的 word 文件转换为 pdf 时出现错误“尚未调用 coInitialize”
- flutter - 注册后显示显示名称
- css - 如何使用 dangerouslySetInnerHTML React 设置文本溢出 ellpsis?