Javascript验证失败

时间:2017-05-25 07:04:50

标签: javascript validation

所以,我正在尝试验证表单输入,如果输入的值大于可用配额,则应该抛出错误警告。

Environment.ExpandEnvironmentVariables("%windir%\System32")

但不幸的是,即使输入的值高于可用的配额,它也不会进入if条件。所以我编写了else来查看值是否正确分配给变量。它被正确分配。因此,在我提交表单后,我收到提醒 enter image description here

所以,这意味着即使满足了if语句,它也执行了else语句。

1 个答案:

答案 0 :(得分:2)

这里的问题是由于所有HTML输入值始终被视为文本,在这种情况下'5555' > '9'为false。

它甚至不是本机JS或jQuery的问题,已证明here

因此,要获得正确的比较,您必须先将它们转换为数字,例如,如果您需要整数,则使用parseInt(),或者只使用Number()



$(function() {
  console.log('native type = ' + typeof document.getElementById('test').value);
  console.log('jquery type = ' + typeof $('#test').val());
  console.log("'5555' > '9' is " + ('5555' > '9' ? 'true' : 'false'));
  console.log(" 5555  >  9  is " + (5555 > 9 ? 'true' : 'false'));
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" id="test" value="123"/>
&#13;
&#13;
&#13;