2

我正在尝试编写一个简单的检查,以查看字段是否填写了超过 5 的值。我已经设置了一个表单并在其中放入了一些文本字段,其中一个字段将需要美元金额。我正在尝试检查这个美元金额是否超过 5 美元,如果不是只是弹出一个警报让用户知道它没有超过 5 美元。我到目前为止的代码是:

    <script>
    function validateForm()
    {
        var x=document.forms["amnt"]["Amount"].value;
        if (x<5)
        {
            alert("value is under 5 dollars!");
            return false;
        }

    }
</script>

该脚本适用于检查字段是否为空等事情,但是当我尝试更改它以检查字段的值时,它只会让用户继续,即使值低于 5。

任何人都可以提供有关如何获取此信息以检查该字段的实际数值并查看它是否高于 5 美元金额的任何反馈吗?

编辑:感谢所有答案,他们都很好,我是个白痴,忘记包含表单的 onsubmit 选项,所以它没有执行我的任何脚本。现在已经解决了你们提出的每一个好的建议都很好。感谢大家的帮助,很抱歉混淆了!

4

4 回答 4

3

尝试这个:

var x=parseInt(document.forms["amnt"]["Amount"].value);
于 2013-01-10T19:27:40.087 回答
1
<script>
function validateForm()
{
    var x = parseInt(document.forms["amnt"]["Amount"].value);
    if (x && Number(x)<5)
    {
        alert("value is under 5 dollars!");
        return false;
    }

}
</script>
于 2013-01-10T19:44:31.353 回答
1

我将使用 parseInt 并将其第二个参数设置为 10,因此它使用基数 10 解析输入。

var x=parseInt(document.forms["amnt"]["Amount"].value, 10);

如果您省略参数,在某些(较旧的)浏览器中可能会发生这样的事情。

parseInt('09') == 0 (它被解析为八进制,因为前导 0)

parseInt('09', 10) == 9 (强制小数)

于 2013-01-10T19:36:01.490 回答
1

当你调用时你会得到一个字符串.value。你应该比较整数,所以使用parseInt().

<script>
    function validateForm()
    {
        var x = parseInt(document.forms["amnt"]["Amount"].value);
        if (x<5)
        {
            alert("value is under 5 dollars!");
            return false;
        }

    }
</script>
于 2013-01-10T19:29:39.550 回答