Попытка остановить двойной ввод значений дважды - PullRequest
0 голосов
/ 13 апреля 2020

Попытка остановить отправку одного и того же значения дважды. Я создал функцию, которая позволяет пользователю вводить имя и метку для отправки на простой сайт, который я пытаюсь создать. Если введены одинаковые значения (имя и метка), я пытаюсь найти способ предупредить пользователя и остановить отправку имени и метки на консоль.

function add() {
  name.push(nameInput.value);
  mark.push(markInput.value);

  if (name == "" && mark == "") {
    document.getElementById("result").innerHTML = "No name or mark Has Been Entered. Please Try Again!";
  } else if (name && mark) {
    document.getElementById("result").innerHTML = "Name & Mark has successfully been entered!";
    console.log(name, mark);
  } else if (name == mark) {
    var n = name.includes("Ross", 0);
    //console.log(name, mark);//
  }
}

document.getElementById("Add").addEventListener("click", insert);

1 Ответ

0 голосов
/ 13 апреля 2020

Вы должны переместить name.push(nameInput.value); mark.push(markInput.value); в блок, где он удовлетворяет критериям вставки. Вот критерии, значения не должны быть пустыми, и они должны быть уникальными.

if (!name  && !mark ) {
    document.getElementById("result").innerHTML = "No name or mark Has Been Entered. Please Try Again!";
  }
else if (names.includes(nameInput.value) && mark.includes(markInput.value)) {
    document.getElementById("result").innerHTML = "Name & Mark are same please enter again!";
  }
  else{
      names.push(nameInput.value);
      marks.push(markInput.value);
      document.getElementById("result").innerHTML ="Name & Mark has successfully been entered!"
  }

В качестве альтернативы вы также можете использовать объект для достижения этого. Создайте объект с именем и отметкой в ​​качестве свойств

 let person = {name: name.value,mark: mark.value };

и pu sh объекта в arr.

Чтобы проверить, представлены ли одно и то же имя и отметка, используйте arr.find().

let name = document.getElementById("name");
let mark = document.getElementById("mark");
let arr = [];
const add = () => {
  if (!name.value || !mark.value) {
    alert("Please enter the value in both fields");
    return;
  }
  let person = {
    name: name.value,
    mark: mark.value
  };
  if (arr.find(personIn => personIn.name == person.name && personIn.mark == person.mark)) {
    alert("Please dont repeat the values");
    return;
  }
  arr.push(person);
}
document.getElementById("submit").addEventListener('click', add);
Name:<input type="text" id="name" /><br> Mark:
<input type="text" id="mark" /><br>
<button id="submit">Submit</button>
...