JavaScript 形成相同的值

标签 javascript

我怎样才能制作一个表单,使它们不能在输入中重复相同的值?

我试过这样的方法:

var text1 = document.getElementById('num1').value;
var text2 = document.getElementById('num1').value;
var textform = [text1,text2];
if ( 
      text1 == text2 ||
      text2 == text1
   ) {
        alert("repeated numbers");
            return false;
     }

但这让我陷入了两个麻烦: - 如果我不输入任何值,它会说:Repated Numbers - 如果我想为 100 个表单值制作它,需要大量代码

最佳答案

您可以为所有文本元素赋予相同的类,并通过类名获取它们的值以简化文本值数组的构建。

<input type="text" class="checkDupe" id="input1" />
<input type="text" class="checkDupe" id="input2" />

然后在 javascript 中获取它们的值

var checkDupes = document.getElementsByClassName('checkDupe');
var textArray = [];
for(var i = 0; i < checkDupes.length; i++){
  textArray.push(checkDupes[i].value);
}

现在我们有了他们输入的值数组,通过对数组进行排序来检查是否有任何值重复,并查看是否有任何两个并排的元素相同。

textArray.sort();
var dupes = false;
for(var i = 0; i < textArray.length; i++){
  if(textArray[i] === textArray[i + 1]) dupes = true;
}

如果我们发现任何重复项,请告知用户。

if(dupes) alert('Repeated numbers!');

关于JavaScript 形成相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37333397/

相关文章:

javascript - 单击删除按钮时如何删除 react 流中的元素

javascript - 未捕获( promise 中)TypeError : $scope. GetNomePacienteIndicou 不是函数

javascript - 提交表单时保持选中复选框

javascript - 如何动态更新复选框的 react-json-schema 表单

javascript - 移动 Canvas 框(不需要的对 Angular 线移动)

Javascript querySelectorAll 只返回我指定的选择器

javascript - 为什么 Mozilla Firefox 会抛出语法错误?

javascript - jQuery 定位与 CSS3 "transform: scale"

javascript - 转换 Backbone.js 应用程序以与 parse.com 通信

Javascript 类型转换悖论