Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javaScript-数字输入-接受特定数字_Javascript_Html_Validation - Fatal编程技术网

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

javaScript-数字输入-接受特定数字,javascript,html,validation,Javascript,Html,Validation,我有5个输入,类型为“number”。用户输入的最大值为“5”。 我想知道用户是否在第一个输入字段中输入例如“4”。他无法在其他字段中再次提交此号码 或者他可以,但随后会弹出一条消息提醒他。 如果警报是在浏览器中生成的,比如当他输入一个超过“max”的数字时,该字段会因为错误的赋值而变为红色,那就太好了 我可以创建一个数组,当用户提交一个值时,我会检查该值是否在数组中,如果没有,我会将其推送到数组中 但是我必须做一个警告设计 我只是在寻找聪明简单的解决方案 <input type='num

我有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 ?!...

}

功能改变(it)
{
//我该怎么办?!。。。
}

谢谢。

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


你能做的是,给每个输入一个类,比如说“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:



如果您不想使用jQuery,那么继续,通过查看提供的代码,将jQuery转换为Javascript。

为什么您建议他可以将jQuery用于这么简单的事情?说真的,下载超过100kB的脚本只是为了做这么简单的事情,这是一个巨大的问题。不,我不喜欢使用Jquery,但这确实是一个很好的答案。问题是我必须实现一个要使用的函数,而不是“兄弟”函数。。据我所知,在JSHennry中有相当于它的东西,非常棒。但我真的很喜欢在纯js中实现这一点,所以如果我想替换兄弟姐妹,我需要为它创建一个函数,对吗?好的,我是这样做的:'var input=document.getElementsByClassName(“input”),inpLength=input.length;函数更改(it){if(it.value!=''){for(var i=0;i<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'>