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

Как реализовать проверку значения, которое уже ранее было выбрано и сообщить пользователю?

20.05.2018, 12:11. Показов 1315. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как реализовать проверку значение, которое уже ранее было выбрано и сообщить пользователю о том, что данное значение он выбрал ранее?

У меня есть форма, она объявлена и имеет идентификатор.

HTML5
1
 <form name="enterForm" method="post" action=указать путь к веб-приложению -URL"></form>
Созданые списки:

HTML5
1
2
3
4
5
6
7
8
9
<td id="cell1">
                Курс: &nbsp;&nbsp;&nbsp;
                <select form="enterForm" required name="course" size="1">
                    <option value="JavaSE">1. Java SE </option>
                    <option value="JavaEE">2. Java EE </option>
                    <option value="testAnchor">3. Тестирование корабельных якорей методом погружения в Северное Море</option>
                    <option value="embroidery">4. Вышивание крестиком в условиях, близких к невесомости.</option>
                </select>
            </td>
Здесь пользователь обязан будет выбрать какой-нибудь пункт.
В следующем списке пункты повторяются.
Но это список с возможностью множественного выбора.

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 <td id="cell1">
                Прочие курсы:<br />
                <p><input type="checkbox" value="JavaSE" id="JavaSE" name="JavaSE" />&nbsp;&nbsp;
                1. Java SE</p>
                <p><input type="checkbox" value="JavaEE" id="JavaEE" name="JavaEE" />&nbsp;&nbsp;
                2. Java EE </p>
                <p>
                    <input type="checkbox" value="testAnchor" id="testAnchor" name="testAnchor" />&nbsp;&nbsp;
                    3. Тестирование корабельных якорей методом погружения в Северное Море
                </p>
                <p>
                    <input type="checkbox" value="embroidery" id="embroidery" name="embroidery" />&nbsp;&nbsp;
                    4. Вышивание крестиком в условиях, близких к невесомости.
                </p>
            </td>
Здесь пользователь может выбрать несколько значений.
Но как написать обработку, что он не может выбрать значение которое указал в предыдущем списке?
Чем такой анализ пишется ? И как вывести сообщение о том,что пользователь должен исправить ошибку, а программа в свою очередь игнорировала бы нажатие кнопки submit и форма не отправилась бы до тех пор , пока пользователь не ввел бы
корректные данные.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2018, 12:11
Ответы с готовыми решениями:

Как сделать проверку было ли уже такое имя или нет?
есть textbox и по вводу в него имени он проверяет есть ли такое имя в словаре если есть он выводит сообщение и просит переписать имя но...

[Entity Framework] Как реализовать проверку того, есть ли уже проверяемая новость в базе?
Доброго времени суток! Я делаю парсер, который получает данные из раздела новостей сайта (заголовок новости, текст и дата публикации...

Как округлить число до большего значения, которое было бы кратно 4
Доброй ночи. Как округлить число до большего значения, которое было бы кратно 4. (число кратно 4 если 2 последних знака нули или два...

4
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
20.05.2018, 14:57
masli,
Цитата Сообщение от masli Посмотреть сообщение
У меня есть форма, она объявлена и имеет идентификатор.
*
HTML5
1
<form name="enterForm" method="post" action=указать путь к веб-приложению -URL"></form>
где он?

HTML5
1
<td id="cell1">
у Вас один и тот id для разных элементов назначен? Напоминаю -
Идентификатор в коде документа должен быть в единственном экземпляре, иными словами, встречаться только один раз. Идентификатор должен обязательно начинаться с латинского символа и может содержать в себе латинские буквы (A–Z, a–z), цифры (0–9), символ дефиса (-) и подчеркивания (_). Использование русских букв в именах идентификатора недопустимо.
Чем такой анализ пишется ?
JS.

Далее пример, того что Вы хотите, для той верстки что Вы предоставили(если я Вас правильно понял) => https://codepen.io/qwerty_wasd/pen/qYgbqP. При этом не нужно будет блокировать кнопку отправки. Просто выключаем из 2-го списка опцию, выбранную в первом. Это сократит скрипт.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<form id="formModule"></form>
<td id="cell1">Курс: ***
  <select id="listOne" form="enterForm" required="required" name="course" size="1">
    <option value="JavaSE">1. Java SE </option>
    <option value="JavaEE">2. Java EE </option>
    <option value="testAnchor">3. Тестирование корабельных якорей методом погружения в Северное Море</option>
    <option value="embroidery">4. Вышивание крестиком в условиях, близких к невесомости.</option>
  </select>
</td><br/><br/>
<td id="cell2">Прочие курсы:<br/>
  <p>
    <input id="JavaSE" type="checkbox" value="JavaSE" name="JavaSE" disabled="disabled"/>                1. Java SE
  </p>
  <p>
    <input id="JavaEE" type="checkbox" value="JavaEE" name="JavaEE"/>                2. Java EE
  </p>
  <p>
    <input id="testAnchor" type="checkbox" value="testAnchor" name="testAnchor"/>                    3. Тестирование корабельных якорей методом погружения в Северное Море
  </p>
  <p>
    <input id="embroidery" type="checkbox" value="embroidery" name="embroidery"/>                    4. Вышивание крестиком в условиях, близких к невесомости.
  </p>
</td>
<input type="submit" value="отправить"/>
JavaScript
1
2
3
4
5
6
listOne.addEventListener('change',()=>{
  for(let i=0;i<listOne.options.length;i++){
    if(listOne.options[i].selected) { document.querySelectorAll('input[type="checkbox"]')[i].disabled=true; document.querySelectorAll('input[type="checkbox"]')[i].checked=false} else
      document.querySelectorAll('input[type="checkbox"]')[i].disabled=false
  }
})
0
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
20.05.2018, 21:12  [ТС]
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
<td id="cell1">
Это идентификатор только для css и нужен для отрисовки ячеек таблицы, я его не применяю к форме.
На форме в примере выше забыл поставить id. Неудачно я привел примеры. Обычно обявляю форму и вне ее пишутся элементы этой формы и у них есть id данной формы.


Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<!DOCTYPE html>
<html lang="ru-ru">
<!-- Язык страницы(обязательно) -->
<head>
    <meta charset="utf-8"> <!-- Кодировка -->
    <title>Ввод данных</title> <!-- Название вкладки (видно в Браузере) -->
    <script type="text/javascript" src="js/jquery-3.3.1.js"></script>
    <script type="text/javascript" src="js/jquery-ui-1.12.1.custom/jquery-ui.js"></script>
    <script type="text/javascript" src="scripts/scriptJ.js"></script>
    <script type="text/javascript" src="scripts/script.js"></script>
    <link href="css/bootstrap.css" rel="stylesheet">
    <link rel="stylesheet" href="js/jquery-ui-1.12.1.custom/jquery-ui.css">
    <link href="styles/style.css" rel="stylesheet" type="text/css" media="screen"> <!-- Подключение файла со стилями для страниц-->
</head>
 
<body>
    <form id="enterForm" name="enterForm" method="post" action=указать путь к веб-приложению -URL"></form>
 
    <table id="table">
        <tr>
            <td id="cell1">
                Фамилия: &nbsp;
                <input type="text" form="enterForm" name="lastname" required placeholder="Ваша фамилия" autofocus="autofocus" maxlength="20"
                       pattern="[^0-9][^\s][A-Za-zА-Яа-яЁё]{3,20}" />
            </td>
            <td id="cell1">
                Имя: &nbsp;
                <input type="text" form="enterForm" name="firstname" required placeholder="Ваше имя" autofocus="autofocus" maxlength="20"
                       pattern="[^0-9][^\s][A-Za-zА-Яа-яЁё]{3,20}" />
            </td>
            <td id="cell1">
                Отчество: &nbsp;
                <input type="text" form="enterForm" name="middlename" placeholder="Ваше отчество" autofocus="autofocus" maxlength="20"
                       pattern="[^0-9][^\s][A-Za-zА-Яа-яЁё]{3,20}" />
            </td>
        </tr>
        <tr>
            <td id="cell1">
                Секретная Фраза: &nbsp;
                <input type="password" form="enterForm" name="secret" required placeholder="Секретная фраза" size="50" maxlength="40"
                       pattern="[^0-9][^\s][A-Za-zА-Яа-яЁё]{3,40}" />
            </td>
            <td id="cell1">
                Возраст: &nbsp;
                <input type="text" form="enterForm" name="age" placeholder="возраст" size="4" maxlength="3"
                       pattern="\d{2,3}" />
            </td>
            <td id="cell1">
                Укажите Ваш пол: &nbsp;&nbsp;&nbsp;
 
                <input type="radio" form="enterForm" id="male" name="sex" checked="checked" />
                <label id="radioSexM" form="enterForm" for="male">мужчина</label>
                &nbsp;&nbsp;
                <input type="radio" form="enterForm" id="female" name="sex" />
                <label id="radioSexF" form="enterForm" for="female">женщина</label>
            </td>
        </tr>
        <tr>
            <td id="cell1">
                Курс: &nbsp;&nbsp;&nbsp;
                <select form="enterForm" required name="course" size="1">
                    <option value="JavaSE">1. Java SE </option>
                    <option value="JavaEE">2. Java EE </option>
                    <option value="testAnchor">3. Тестирование корабельных якорей методом погружения в Северное Море</option>
                    <option value="embroidery">4. Вышивание крестиком в условиях, близких к невесомости.</option>
                </select>
            </td>
            <td id="cell1">
                Преподаватель:<br />
                <select form="enterForm" required name="teacher" multiple="multiple" size="2">
                    <option value="ivanov">1. Иванов Иван Иванович</option>
                    <option value="petrov">2. Петров Петр Петрович</option>
                    <option value="sidorov">3. Сидоров Сидор Сидорович</option>
                </select>
            </td>
            <td id="cell1">
                Оценка курса: &nbsp;&nbsp;&nbsp;
                <select form="enterForm" required name="course" size="1">
                    <option value="ten">1.&nbsp;&nbsp;    10 </option>
                    <option value="nine">2.&nbsp;&nbsp;    9 </option>
                    <option value="eihgt">3.&nbsp;&nbsp;   8</option>
                    <option value="eihgt">4.&nbsp;&nbsp;   7</option>
                    <option value="eihgt">5.&nbsp;&nbsp;   6</option>
                </select>
            </td>
        </tr>
        <tr>
            <td id="cell1">
                Прочие курсы:<br />
                <p>
                    <input type="checkbox" value="JavaSE" id="JavaSE" name="JavaSE" />&nbsp;&nbsp;
                    1. Java SE
                </p>
                <p>
                    <input type="checkbox" value="JavaEE" id="JavaEE" name="JavaEE" />&nbsp;&nbsp;
                    2. Java EE
                </p>
                <p>
                    <input type="checkbox" value="testAnchor" id="testAnchor" name="testAnchor" />&nbsp;&nbsp;
                    3. Тестирование корабельных якорей методом погружения в Северное Море
                </p>
                <p>
                    <input type="checkbox" value="embroidery" id="embroidery" name="embroidery" />&nbsp;&nbsp;
                    4. Вышивание крестиком в условиях, близких к невесомости.
                </p>
            </td>
            <td id="cell1">
                Как Вы о нас узнали:<br />
                <p>
                    <input type="checkbox" value="tv" id="tv" name="tv" />&nbsp;&nbsp;
                    1. Реклама по ТВ.
                </p>
                <p>
                    <input type="checkbox" value="radio" id="radio" name="radio" />&nbsp;&nbsp;
                    2. Реклама по радио.
                </p>
                <p>
                    <input type="checkbox" value="internet" id="internet" name="internet" />&nbsp;&nbsp;
                    3. Реклама в Интернете.
                </p>
                <p>
                    <input type="checkbox" value="metro" id="metro" name="metro" />&nbsp;&nbsp;
                    4.  Реклама в метро
                </p>
                <p>
                    <input type="checkbox" value="other" id="other" name="other" />&nbsp;&nbsp;
                    5.  Другое
                </p>
            </td>
            <td id="cell1">
                Другое:<br />
                <textarea id="textArea" rows="10" cols="40" readonly>
                    1. Если флажок «Другое» в пункте №11 не выбран, поле не доступно для ввода текста.
                    2. Если флажок «Другое» в пункте №11 выбран, то строка, введенная в поле:
                    2.1. Не должна быть пустой (NULL или строка нулевой дины).
                    2.2. Не должна состоять только из пробельных символов.
                </textarea>
            </td>
        </tr>
        <tr>
            <td id="cell1">
                Другое:<br />
                <textarea id="textArea" rows="10" cols="27" readonly>
                     Укажите прочие моменты относительно курса,которые не были учтены составителями анкеты.
                </textarea>
            </td>
        </tr>
        <tr>
            <td>
                <input type="submit" />
            </td>
        </tr>
    </table>
</body>
</html>
0
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
20.05.2018, 22:10
masli, еще раз напоминаю Вам
Идентификатор - id - в коде документа должен быть в единственном экземпляре, иными словами, встречаться только один раз. Идентификатор должен обязательно начинаться с латинского символа и может содержать в себе латинские буквы (A–Z, a–z), цифры (0–9), символ дефиса (-) и подчеркивания (_). Использование русских букв в именах идентификатора недопустимо.
то есть такая запись id="cell1" должна быть одна в документе.

Пример для
Цитата Сообщение от masli Посмотреть сообщение
написать обработку, что он не может выбрать значение которое указал в предыдущем списке
привел выше.

Добавлено через 4 минуты
Цитата Сообщение от masli Посмотреть сообщение
Это идентификатор только для css
ошибаетесь. Задавая id элементу, интерпретатор создает прямую ссылку на него. Поэтому в JS при обращении к этому элементу можно сразу обратиться по этому id, вместо
JavaScript
1
document.getElementById('id_элемента')
. Если нужны одни и те же стили для нескольких элементов, используйте класс
HTML5
1
<td class="myclass">
1
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
21.05.2018, 09:38  [ТС]
Цитата Сообщение от Qwerty_Wasd Посмотреть сообщение
. Если нужны одни и те же стили для нескольких элементов, используйте класс
Этого не знал, спасибо, сэкономили время.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.05.2018, 09:38
Помогаю со студенческими работами здесь

Как определить, в каком из ComboBox было выбрано значение
Здравствуйте. В Excel документе есть 4 выпадающих списка, все они связаны с одним и тем же макросом, как определить из какого списка пришел...

Как реализовать поиск значения,которое находится в стеке?
нужно найти значение.Значение находится в стеке.Как реализовать поиск? Пробовал через массив сделать что-то не получается вот код ...

Как определить какое именно изображение было выбрано на ScrollView
Если кому известно, подскажите пожалуйста, как мне определить какое именно изображение выбрано на ScrollView. Там есть массив картинок,...

Как узнать, что было выбрано в динамически созданном ComboBox
Здравствуйте уважаемые форумчани, подскажите пожалуйста в одном вопросе. Я динамически создаю комбобокс: ComboBox comboBox2 =...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru