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

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

20.05.2018, 12:11. Показов 1290. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Инструменты 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 и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru