javascript - 检查 HTML 输入问题的值

标签 javascript html input

我有这个 HTML:

<input type="number" id="num">
<input type="submit" onclick="test()">

这个脚本:

function test() {
    var num = document.getElementById("num").value;
    alert(num === 1);

那么当我输入 1 作为输入时,为什么会得到 false 呢?

如果我尝试 alert(num - 1 === 0); 而不是 alert(num === 1); 我得到 true.为什么会出现这种情况?

最佳答案

表单控件的值始终是字符串(type="number" 只是要求浏览器强制该字符串包含数字)。您可以使用 +parseIntparseFloat 将其转换为数字。您还可以比较 "1" 而不是 1

如果您subtract字符串中的数字,JavaScript 会在执行减法之前将字符串转换为数字,然后将结果计算为数字。

关于javascript - 检查 HTML 输入问题的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26207337/

相关文章:

javascript - 我正在尝试实现一个dialogflow webook来连接到wordpress api,但收到错误: No responses defined for platform: null

javascript - 如何修复 Flot js 上的 xaxis 标签

javascript - 如何使用javascript获得自动点击的链接

javascript - 播放从数组中随机选择的音频片段,无法弄清楚我哪里出错了

html - 为什么元素移动位置 : relative still contribute to parent dimensions as if it hadn't been moved?

html - 为什么 Chrome 认为我的表单是信用卡表单?

javascript - 为什么 keyup 有效但 keydown 不起作用

c# - 使用 Selenium WebDriver 与 native javascript 衡量性能

javascript - 是否可以将 React 组件存储在数组中?

algorithm - 优化算法以在4秒内运行大量操作