Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
 выборка данных из формы  [new]
celestial
Member

Откуда:
Сообщений: 32
Добрый день.
я новичок, поэтому прошу сильно не пинать.

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

<p>
<input type="text" name="phone[]" placeholder="Телефон"/>
<select name="messenger[]" multiple="multiple" class="messenger">
<option value="WhatsApp">WhatsApp</option>
<option value="Telegram">Telegram</option>
<option value="Viber">Viber</option>
</select>
<input type="button" value="Удалить" onclick="removePhone(this)">
</p>


Вопрос - как мне на стороне сервера сопоставлять у какого номера телефона какие есть мессенджеры?
то есть в идеале мне нужно получить что-то вроде:

89211234567 whatsapp, viber
89051234567 telegram, viber
89111234567 viber, whatsapp

Может быть сама форма неправильно сделана?

Прошу подсказать.
17 янв 19, 16:12    [21788091]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
vkle
Member

Откуда: Самара
Сообщений: 14549
В данном случае массив messenger привязан к phone лишь позиционно. Не уверен, что используемый на стороне сервера ЯП сможет самостоятельно корректно разобрать входные данные по массивам. Однако, просматривая последовательно параметры в строке входных данных, вполне возможно сделать сопоставление. Как - зависит от используемого ЯП.
Другой вариант - изменить форму, сделать имена вроде "phone[0]", "messenger[0][]", "phone[1]", "messenger[1][]" и так далее.
17 янв 19, 19:07    [21788259]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
celestial
Member

Откуда:
Сообщений: 32
да. я вот тоже прихожу к этому мнению.
то есть если у нас три номера телефона.
то как то вот так генерировать формы
<p>
<input type="text" name="phone-1" placeholder="Телефон"/>
<select name="messenger" multiple="multiple" class="messenger">
<option value="WhatsApp-1">WhatsApp</option>
<option value="Telegram-1">Telegram</option>
<option value="Viber-1">Viber</option>
</select>
<input type="button" value="Удалить" onclick="removePhone(this)">
</p>
<p>
<input type="text" name="phone-2" placeholder="Телефон"/>
<select name="messenger" multiple="multiple" class="messenger">
<option value="WhatsApp-2">WhatsApp</option>
<option value="Telegram-2">Telegram</option>
<option value="Viber-2">Viber</option>
</select>
<input type="button" value="Удалить" onclick="removePhone(this)">
</p>
<p>
<input type="text" name="phone-3" placeholder="Телефон"/>
<select name="messenger" multiple="multiple" class="messenger">
<option value="WhatsApp-3">WhatsApp</option>
<option value="Telegram-3">Telegram</option>
<option value="Viber-3">Viber</option>
</select>
<input type="button" value="Удалить" onclick="removePhone(this)">
</p>

понимаю что это js.
какие темы гуглить?
18 янв 19, 00:01    [21788372]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
vkle
Member

Откуда: Самара
Сообщений: 14549
celestial,

Не уверен, что использовать значения вида "WhatsApp-3" хороший вариант, изменить имена к виду "messenger-3" кажется более правильным и простым. А ещё более правильным "messengers-3", так как в качестве значения параметра допускается набор или множество опций, а не единственный вариант. Впрочем, на вкус и цвет...
Собственно, name и value - обычные атрибуты элементов. Вы в первом посте писали, что форма добавляется динамически яваскриптом. Значит, какое-то представление о работе с DOM из яваскрипта Вы имеете. Но сама тема довольно обширна, так что, посоветовать что-то конкретное сложно. Или задайте вопрос более конкретно, опишите, в чем именно трудность испытываете.
В общем смысле, способов добавления новых элементов в документ есть минимум два, а какой используется в данном случае, Вы не сказали.
Если выполняется генерация новых html-элементов "с нуля", то достаточно просто сформировать значения атрибутов с учетом суффикса. Но в таком случае вопрос кажется странным.
Если же делается копирование или, точнее, клонирование существующего фрагмента DOM, тогда придется пробежаться по элементам клонируемого фрагмента, задать новые значения атрибутов.
18 янв 19, 03:05    [21788399]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
celestial
Member

Откуда:
Сообщений: 32
vkle,

спасибо.
Прихожу к мысли что легче использовать JSON и передавать структуру данных на сервер,

только вопрос.
какой должен быть порядок действий?
1) Я должен сначала создать объект на js.
1.а) выдернуть данные из форм и "засетить" объект этими значениями

2) потом перевести объект в json строку.
2.а) и отправить на сервер.

и все это (1 и 2) повесить на событие?

или есть готовые методы для генерации json из веб форм?
18 янв 19, 13:19    [21788726]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
carrotik
Member

Откуда:
Сообщений: 1398
celestial
vkle,

спасибо.
Прихожу к мысли что легче использовать JSON и передавать структуру данных на сервер,

только вопрос.
какой должен быть порядок действий?
1) Я должен сначала создать объект на js.
1.а) выдернуть данные из форм и "засетить" объект этими значениями

2) потом перевести объект в json строку.
2.а) и отправить на сервер.

и все это (1 и 2) повесить на событие?

или есть готовые методы для генерации json из веб форм?


..если использовать "чистый" джаваскрипт, то да, именно так ... хотя для этого есть уйма библиотек, использующих понятия observable и data-binding (или их аналоги), с помощью которых значения, вводимые в формы автоматически привязываются к объекту, напр. knockout и прочие react/vue ... Другое дело, что чтение документации может занять гораздо большее время, чем решить разовую задачу хотя бы с помощью jquery ...
18 янв 19, 16:10    [21788886]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
vkle
Member

Откуда: Самара
Сообщений: 14549
celestial
легче использовать JSON и передавать структуру данных на сервер
Если на сервере данные непременно должны собраться в JSON и именно в таком виде будут обрабатываться и храниться - тогда, возможно, какой-то смысл в этом есть. Или, если данные должны отправляться на сервер без перезагрузки страницы. Впрочем, в последнем случае более вопрос требований используемой технологии.
В остальном же разница невелика и в контексте "легкости" на стороне веб-браузера выигрывает как раз непосредственная отправка формы, так как не требует никакой дополнительной обработки и, как следствие, скриптов/библиотек для преобразования.
18 янв 19, 20:07    [21789075]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
celestial
Member

Откуда:
Сообщений: 32
vkle,

дело в том, что на сервер отправляются однотипные данные.
мне нужно как то различать их на приёме.
number1 имеет messenger1, messenger2, messenger3...
number2 имеет messenger1, messenger2, messenger3...

да. без перезагрузки страницы, нужна форма для добавления нового номера телефона.

у меня по мере изучения возник другой вопрос.
Подскажите, пожалуйста, как я могу штатными средствами броузера (инструменты разработчика chrome/firefox) без сервера тестировать мордочки?
а именно смотреть какие данные формируются при отправке формы или json?

<<((просто надоедает постоянный редеплой делать, хоть все и автоматически. использую tomcat/servlet/jsp>>
19 янв 19, 10:44    [21789217]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15464
celestial
а именно смотреть какие данные формируются при отправке формы или json?
точки останова - знакомо?
если использовать NB - можно в нём пошагово делать отладку в хроме.
19 янв 19, 11:42    [21789227]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
celestial
Member

Откуда:
Сообщений: 32
вадя,

можно подроблее?
nb - Net beans?
19 янв 19, 13:59    [21789266]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26381
celestial,

тестирование - понятие растяжимое

хотите покрыть свой код тестами, проверяющими, что он работает правильно?
изучайте модульное тестирование:
https://www.google.com/search?q=JavaScript unit tests

хотите посмотреть, что отправляется вместе с запросом на сервер?
F12, вкладка Network

хотите другого - опишите подробнее
19 янв 19, 14:11    [21789270]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26381
celestial,

https://learn.javascript.ru/debugging-chrome
19 янв 19, 14:14    [21789272]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
vkle
Member

Откуда: Самара
Сообщений: 14549
celestial
<<((просто надоедает постоянный редеплой делать, хоть все и автоматически. использую tomcat/servlet/jsp>>
Для простейших тестов и начального изучения технологий html/javascript можно чего-нить и попроще.
19 янв 19, 16:36    [21789307]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15464
vkle
celestial
<<((просто надоедает постоянный редеплой делать, хоть все и автоматически. использую tomcat/servlet/jsp>>
Для простейших тестов и начального изучения технологий html/javascript можно чего-нить и попроще.
куда уж проще
19 янв 19, 16:54    [21789317]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
carrotik
Member

Откуда:
Сообщений: 1398
celestial
Подскажите, пожалуйста, как я могу штатными средствами броузера (инструменты разработчика chrome/firefox) без сервера тестировать мордочки?
а именно смотреть какие данные формируются при отправке формы или json?

<<((просто надоедает постоянный редеплой делать, хоть все и автоматически. использую tomcat/servlet/jsp>>


.. если посмотреть именно, что там в JSON ходит между лицом и сервером, или смоделировать запрос, то довольно удобны Postman и Fiddler ...
21 янв 19, 12:23    [21790106]     Ответить | Цитировать Сообщить модератору
 Re: выборка данных из формы  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37903
celestial
Может быть сама форма неправильно сделана?
может.
Не писать же 100 раз текстом мессенджеры. Их выбирать или перетаскивать надо.
21 янв 19, 12:29    [21790115]     Ответить | Цитировать Сообщить модератору
Все форумы / HTML, JavaScript, VBScript, CSS Ответить