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