Это моя 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);
20.08.2023 18:21
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".
20.08.2023 17:46
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
19.08.2023 18:39
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.
19.08.2023 17:22
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!
18.08.2023 20:33
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.
14.08.2023 14:49
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.