gpt4 book ai didi

javascript - 理解为什么在这种情况下我需要 parseInt()

转载 作者:行者123 更新时间:2023-12-02 16:23:26 25 4
gpt4 key购买 nike

对于表单验证,我使用了一个非常简单的比较。 If y >= x然后它返回 false .

我已经通过使用 parseInt() 解决了我的问题,但我不明白为什么我只需要这个函数一个值。吃码:

function validateForm() {
var x = parseInt(document.forms["einstform"]["zeit1"].value);
var y = parseInt(document.forms["einstform"]["zeit2"].value);
if (y >= x) {
alert("Nope." + " " + x + " " + y);
return false;
}
}

这是我的表格:

<form name="einstform" action="a file" method="GET" onSubmit="return validateForm();">

<select name="zeit1">
<option value="30">1 Month</option>
<option value="60" selected>2 Months</option>
<option value="90">3 Months</option>
</select>

<select name="zeit2">
<option value="0">Never</option>
<option value="7">1 Week</option>
<option value="14" selected>2 Weeks</option>
<option value="21">3 Weeks</option>
<option value="30">4 Weeks</option>
<option value="42">6 Weeks</option>
<option value="60">8 Weeks</option>
<option value="84">12 Weeks</option>
</select>

我想这很容易理解。它只是比较选定的值并在 y >= x 时取消表单提交。 。而且效果非常好,是的。但如果我在第二个选择“1 Week”(值 = 7)中选择,脚本总是告诉我 7 >= 30。

当然,它可能会得到 7 的字符串值。 ,为此我必须使用 parseInt() (并且它可以工作)。

但是为什么所有其他值的 int 比较都可以完美地工作,除了 7

这只是随机告诉我“总是使用parseInt()”还是有更多的东西可以理解为什么7拒绝成为 int 值?

最佳答案

如果不使用 parseInt() 解析该值,它就是一个字符串。

否则你会得到一个string >= string

现在是 7 >= 3

关于javascript - 理解为什么在这种情况下我需要 parseInt(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28901687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com