0 / 0 / 0
Регистрация: 03.11.2015
Сообщений: 17

Некорректное поведение submit двух форм

25.04.2018, 17:17. Показов 832. Ответов 2

Студворк — интернет-сервис помощи студентам
Всем привет, есть html страничка с двумя формами.
HTML5
1
2
3
4
5
6
7
8
9
10
           <form method="post">
                    <input type="hidden" name="command" value="GET_ORDER">
                    <input type="submit" value="Открыть">
           </form>
           <form name="Survey" method="post">
                    <input type="text" required>
                    <input type="hidden" name="command" value="">
                    <input type="button" id="sendorder" value="Заказ">
                    <input type="submit" id="sendForm" style="display: none">
           </form>
По логике моего веб-приложения при нажатии кнопки "sendorder" формы "Survey" срабатывает скрипт, при котором устанавливается значение в поле command и форма отправляется.
Вот скрипт бинда:
JavaScript
1
2
3
4
    $('#sendorder').on('click', function () {
            $('[name=command]').val('ADD_ORDER');
            $('#sendForm').click();
    });
Если не заполнить required поле в форме "Survey", вылезет ошибка валидации, всё вроде бы отлично, однако если после этого нажать submit первой формы, то отправляется вторая незаполненная форма, как будто бы submit событие формы "Survey" после неудачной валидации осталось в ожидании и срабатывает после submit'a первой формы.
Проблему получилось решить таким скриптом:
JavaScript
1
2
3
4
5
6
7
8
    $('#sendorder').on('click', function () {
        if ($('[name=Survey]')[0].checkValidity()) {
            $('[name=command]').val('ADD_ORDER');
            $('[name=Survey]').submit();
        } else {
            $('#sendForm').click();
        }
    });
Но я до сих пор не понимаю почему так происходит, на другой html-странице есть почти такие же 2 формы, но там отрабатывает всё отлично, но там нет никаких биндов, хотя даже и в этом примере бинд стоит не на submit кнопке а на обычной, которая уже вызывает клик submit кнопки.
Помогите, пожалуйста, разобраться!

Прикреплю на всякий случай формы с работающей страницы (там нет никаких биндов).
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
                <form method="post" align="left">
                    <input type="hidden" name="command" value="USER_AUTHORIZATION">
                    <input type="text" name="loginAuth" placeholder="логин" required></br>
                    <input type="password" name="passwordAuth" placeholder="пароль" required>
                    <input type="submit" value="Войти">
                </form>
                <form method="post" align="left">
                    <input type="hidden" name="command" value="USER_REGISTRATION">
                    <input type="email" name="emailReg" placeholder="эл.адрес" required></br>
                    <input type="text" name="loginReg" placeholder="логин"
                           pattern="[A-Za-z][A-Za-z0-9_]{2,19}$" required></br>
                    <input type="password" name="passwordReg" placeholder="пароль"
                           pattern="^[A-Za-z0-9]{3,20}$" title="Пример: Qwerty123" required>
                    <input type="submit" value="Регистрация">
                </form>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.04.2018, 17:17
Ответы с готовыми решениями:

Не срабатывает submit для двух вложенных форм
Доброго времени суток. Есть такая структура &lt;form id=&quot;1&quot;&gt; ... ... &lt;form id=&quot;2&quot;&gt; ... ... ...

Вызов submit у двух форм одной кнопкой
Доброго дня, вопрос следующий есть две формы &lt;form class=&quot;form-horizontal ms2_form&quot; method=&quot;post&quot;...

Submit на несколько форм одновременно
Решил поприкалываться, хочу подумать над тем, чтобы отсылать с одной страницы СМСки для нескольких пользователей... Ну и естественно, раз...

2
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
26.04.2018, 08:44
Цитата Сообщение от Saiveen Посмотреть сообщение
то отправляется вторая незаполненная форма
Вы это определяете по значению command?
Цитата Сообщение от Saiveen Посмотреть сообщение
JavaScript
1
$('[name=command]').val('ADD_ORDER');
Этой строкой вы задаёте значение всех полей с атрибутом name="command", то есть в первой форме значение command тоже становится ADD_ORDER
1
0 / 0 / 0
Регистрация: 03.11.2015
Сообщений: 17
26.04.2018, 13:02  [ТС]
Как же я это не усмотрел, пустая я голова
Теперь всё стало на свои места, спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.04.2018, 13:02
Помогаю со студенческими работами здесь

несколько форм на странице с одним submit?
Парни, подскажите, плиз. Есть несколько форм на странице с одним submit для всех, к примеру куча форм с классом dadada. Так когда я...

Form Submit для многих форм
Отправка даных с формы происходит через код Jquery $(&quot;form&quot;).submit(); Когда на страничке одна форма,все происходит нормально ...

Некорректное поведение скрипта
Здравствуйте. Есть скрипт( его часть - логирование) $Log = 'Ошибка '.$ex-&gt;getMessage().' в строке № '.$ex-&gt;getLine().'...

Некорректное поведение клавиатуры
Поставил Mint 17.3, первые пару дней всё работало нормально, затем с клавиатурой произошла ерунда; 1.ScrollLock постоянно включен; ...

Некорректное поведение GetClientRect
Есть MDI приложение. Запущено на машине с 2мя мониторами. На втором - маленькое разрешение(1024x768). Когда открывается окошко, там...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru