Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 11

Проверка инпутов

16.08.2018, 23:05. Показов 2260. Ответов 4

Студворк — интернет-сервис помощи студентам
Нужно проверить серию из 4 инпутов, из которых данные затем будут переноситься в отдельный блок после нажатия кнопки:
1. должны вводиться только русские буквы;
2. кнопка по умолчанию disabled;
3. при заполнении хотя бы одного инпута кнопка разблокируется;
4. не обязательно заполнять все 4 инпута для отправки данных.

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

HTML5
1
2
3
4
5
6
<div class="input-wrap">Введите данные</div>
            <input class="item" type="text" id="item1">
            <input class="item" type="text" id="item2">
            <input class="item" type="text" id="item3">
            <input class="item" type="text" id="item4">
            <button class="btn">Ввести данные</button>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function dataCheck() {
 
        let name,
            per_name =/^[А-Я]$/i;
 
    for (let i = 0; i < item.length; i++) {
         name = item[i].value;
        
            if(!per_name.test(name) && name !='') {
                btn.disabled = false;
 
        } else {
 
        }
    }
};
goodsCheck();
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.08.2018, 23:05
Ответы с готовыми решениями:

валидность инпутов
Добрый день! у меня есть инпуты, и мне нужно свалидировать их на пустоту используя blur и focus. Каждому инпуту я вешаю обработчики, и я...

JSON из инпутов
Всем привет, ребята.. я новенький в изучении JS, ну если быть точнее jquery. Подскажите плиз, как из вложенных инпутов собрать json. Вот...

Проверка инпутов и textarea
Есть тест с вопросами. Они выводятся списком, в каждом вопросе есть несколько вариантов ответов. На данный момент возможно выбрать только...

4
Модератор
 Аватар для Curry
5156 / 3476 / 536
Регистрация: 01.06.2013
Сообщений: 7,537
Записей в блоге: 9
17.08.2018, 00:01
Можно по id-ам так перебирать
JavaScript
1
2
3
4
    for(let i=1; i<4; i++){
        let e=document.getElementById("item"+i)
        alert(e.value);
    }
К тому же у вас вначале dataCheck, а вызывается goodsCheck - возможно, ошибка или вы привели отдельные куски кода.
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 11
18.08.2018, 01:55  [ТС]
Есть блок из 4 инпутов и неактивная кнопка. Нужно, чтобы при заполнении хотя бы одного инпута и наличия дополнительного условия (mainList.open === true) кнопка активировалась. Если дополнительное условие не соблюдается или все инпуты становятся пустыми, то кнопка снова дезактивируется. Попробовал через цикл с обработчиком событий onchange, но он работает неправильно.


JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function validate() {
  let goodsItem = document.getElementsByClassName('goods-item');
    for (let i = 0; i < goodsItem.length; i++) {
        goodsItem[i].onchange = function() {
        
            if(mainList.open === true && goodsItem[i].value.length >= 1) {
                console.log('Заполнено');
                btnApprove.disabled = false;
            } else if (!goodsItem[0].value.length < 1 && !goodsItem[1].value.length < 1  && !goodsItem[2].value.length < 1 && !goodsItem[3].value.length < 1) {
                btnApprove.disabled = true;
                console.log('Пусто');
             }
        };
 
    }
};
validate();
 Комментарий модератора 

Правила форума

4. Порядок создания тем.
4.13 Если на ваш вопрос долгое время нет ответа, уточните его, приведите дополнительные сведения, которые могут помочь участникам форума решить вашу проблему.
4.14 Чтобы "поднять" тему в разделе и поиске по форуму, используйте осмысленные сообщения, например "Тема/проблема/задача актуальна". Если вы чего-то достигли в решении проблемы на этот момент, сообщите об этом.

5. Запреты и ограничения.
5.5 Запрещено размещать тему в нескольких подразделах одного раздела одновременно (кросспостинг), а также дублировать тему в одном разделе.
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
18.08.2018, 02:36
dvv1979,
Зачем плодить темы? Даже не знаю отвечать вам или нет- в прошлой теме вы побоялись ответить в теме?
Вот вам проверка на пустоту:
HTML5
1
2
3
4
5
6
7
8
<div class="input-wrap">Введите данные</div>
 
<input class="item" type="text" id="item1" placeholder="№1">
<input class="item" type="text" id="item2" placeholder="№2">
<input class="item" type="text" id="item3" placeholder="№3">
<input class="item" type="text" id="item4" placeholder="№4">
 
<button class="btn" disabled="disabled">Ввести данные</button>
JavaScript
1
2
3
4
5
6
7
8
9
10
dataCheck();
function dataCheck() {
    var item = document.querySelectorAll('.item'), btn = document.querySelectorAll('.btn')[0], str;
    [...item].map((e,i)=>{
        e.addEventListener('keyup',()=> {
            str = '', [...item].map((e,i)=> str += e.value );
            str !== '' ? btn.disabled = false : btn.disabled = true;
        });
    });
}
Смотрим здеся

Условие то сможете сами добавить?
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 11
18.08.2018, 07:37  [ТС]
Я не побоялся. Просто учу JS, стараюсь, в первую очередь сам думать, и только потом просить помощи на стороне, но получается не всегда. Сразу сдаваться и бежать искать помощи на стороне не привык. Спасибо за подсказку!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.08.2018, 07:37
Помогаю со студенческими работами здесь

Проверка инпутов на заполненность
Здравствуйте! Ситуация такая: есть &lt;form&gt;, внутри нее несколько &lt;div&gt;, в каждом &lt;div&gt; своя группа &lt;input&gt; относящихся к данной...

Ajax и 10 инпутов
Ребята есть такой код &lt;input type=&quot;submit&quot; name=&quot;enter1&quot; value=&quot;0-9&quot; id=&quot;enter&quot; /&gt; &lt;input...

Одновременное изменение 2-х инпутов
Доброго времени суток! Не подскажите - как менять значение 1 input'а в зависимости от другого. То есть имеем форму с полем типа город...

Отследить ввод с 3-4 инпутов
Как отследить ввод информации в инпуты если их более 1 ? так не работает $(&quot;#bar_code,...

Запись с инпутов аяксом
Всем привет, подскажите как лучше записывать данные. Имеется около 20 инпутов, часть из них может быть заполнено часть нет. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru