检查HTML输入问题的值

时间:2014-10-05 21:19:33

标签: 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。为什么会这样?

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

考虑将其更改为字符串。

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

===运算符要严格得多,并且要求比较值具有相等的值和类型。在这种情况下,您将字符串与数字进行比较。

答案 2 :(得分:0)

昆汀的回答是正确的,但只是为了补充:

您可以使用lazy equals检查它是否为1(即没有类型检查。)num == 1

或者,只需与字符串进行比较:num === "1"