Вы должны переместить 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>