javaScript - 数字输入 - 接受特定数字

时间:2017-03-12 09:29:32

标签: javascript html5 validation

我有5个类型为'number'的输入。用户输入的最大值为“5” 如果用户在第一个输入字段中输入例如“4”,我想要。他不能在其他领域再次提交这个号码。

或者他可以然后弹出一条消息提醒他。
如果在浏览器中建立警报就好了,就像当他输入一个超过'max'的数字时,该字段变为红色错误的分配。

我可以创建一个数组,当用户提交一个值时,我会检查数组中是否有该值,如果不是,我将其推入数组中 但是接下来我必须做一个警报设计。

我只是在寻找智能而简单的解决方案。

<input type='number' max = '5' onchange = 'change(this)'>
<input type='number' max = '5' onchange = 'change(this)'>
<input type='number' max = '5' onchange = 'change(this)'>
<input type='number' max = '5' onchange = 'change(this)'>
<input type='number' max = '5' onchange = 'change(this)'>

function change(it)
{
  // what shoult I do ?!...

}

感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用jquery并在更改时将字段值相互比较。 看到这个答案:

https://stackoverflow.com/a/30307040/1333744

答案 1 :(得分:0)

你可以做的是,给每个输入一个类,让我们说'foo'。

然后JQuery如下:

$(".foo").on('change', function () {
    var inputNumber = $(this).val();
    if (inputNumber > 5) {
    alert("Can't enter more than 5! Sorry");
    $(this).val(5);
    } else {
     var array = [];
        $siblings = $(this).siblings();
        $.each($siblings, function (key, value) {
           array.push($(value).val()); 
        });
if ($.inArray($(this).val(), array) !== -1)
    {
        alert("You have already entered that number");
    }
    }
});

HTML:

<input type='number' max = '5' class='foo'>
<input type='number' max = '5' class='foo'>
<input type='number' max = '5' class='foo'>
<input type='number' max = '5' class='foo'>
<input type='number' max = '5' class='foo'>

如果您不想将jQuery用于这样一个“小”的东西(我不介意),那么继续,通过查看提供的代码将jQuery转换为Javascript。