Проверка дублирующего ввода с помощью этой простой функции JavaScript

RedDeveloper
03.01.2023 06:15
Проверка дублирующего ввода с помощью этой простой функции JavaScript

Это моя html форма, обернутая в таблицу:

<tbody id="table_one">
<tr><td><input type="text" size="11" maxlength="11" id="mcode1" name="matnr[]"></td></tr>
<tr><td><input type="text" size="11" maxlength="11" name="matnr[]" id="mcode2" ></td></tr>
<tr><td><input type="text" size="11" maxlength="11" name="matnr[]" id="mcode3" ></td></tr>
<tr><td><input type="text" size="11" maxlength="11" name="matnr[]" id="mcode4" ></td></tr>
<tr><td><input type="text" size="11" maxlength="11" name="matnr[]" id="mcode5" ></td></tr>
<tr><td><input type="text" size="11" maxlength="11" name="matnr[]" id="mcode6" ></td></tr>
</tbody>

 
Функция на javascript, которая каждый раз, когда я буду вводить что-то в поле ввода с именем matnr[],
она будет проверять значение, если оно уже есть в любом из полей ввода с именем matnr[]. если оно там после ввода
, она покажет предупреждение, что "дублирование matnr не разрешено".
function checkForDuplicates() {
  // Get all the input fields with name "matnr[]"
  var inputFields = document.getElementsByName("matnr[]");
  
  // Create an array to store the values of the input fields
  var values = [];
  
  // Loop through the input fields and add their values to the values array
  for (var i = 0; i < inputFields.length; i++) {
    values.push(inputFields[i].value);
  }
  
  // Check if there are any duplicates in the values array
  for (var i = 0; i < values.length; i++) {
    if (values.indexOf(values[i]) !== values.lastIndexOf(values[i])) {
      // If there is a duplicate, show an alert
      alert("Duplicate matnr not allowed");
      break;
    }
  }
}

Вы можете вызывать эту функцию каждый раз, когда вы вводите что-то в поле ввода matnr[], добавив слушатель события onblur к каждому полю ввода. Вот пример того, как это можно сделать:

<input type="text" size="11" maxlength="11" name="matnr[]" id="mcode1" onblur="checkForDuplicates()">

Вот та же функция, которую я написал на jQuery:

function checkForDuplicates() {
  // Get all the input fields with name "matnr[]"
  var inputFields = $('[name="matnr[]"]');
  
  // Create an array to store the values of the input fields
  var values = [];
  
  // Loop through the input fields and add their values to the values array
  inputFields.each(function() {
    values.push($(this).val());
  });
  
  // Check if there are any duplicates in the values array
  for (var i = 0; i < values.length; i++) {
    if (values.indexOf(values[i]) !== values.lastIndexOf(values[i])) {
      // If there is a duplicate, show an alert
      alert("Duplicate matnr not allowed");
      break;
    }
  }
}

Вы можете вызвать эту функцию так же, как и в предыдущем примере, используя событие oninput или onblur.

$('[name="matnr[]"]').on('blur', checkForDuplicates);
Почему в Python есть оператор &quot;pass&quot;?
Почему в Python есть оператор "pass"?

05.05.2023 14:00

Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.

Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом

05.05.2023 11:59

Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря своим методам, они делают код очень простым для понимания и читабельным.

JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы

05.05.2023 11:57

Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний, то, не теряя времени, практикуйте наш бесплатный онлайн тест 1100+ JavaScript MCQs и развивайте свои навыки и знания.

Массив зависимостей в React
Массив зависимостей в React

05.05.2023 09:44

Все о массиве Dependency и его связи с useEffect.

Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий

05.05.2023 09:26

Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут вам настроить, как будет выглядеть ваш сайт Temple, и вы можете настроить его дизайн в зависимости от ваших потребностей в дополнение к более чем 15+...