|
|
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
Добрый день. я новичок, поэтому прошу сильно не пинать. Есть форма добавления номера телефона и мессенджеры, которые привязаны к этому телефону. Форма добавляется динамически с помощью 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.01.2019, 16:12 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
В данном случае массив messenger привязан к phone лишь позиционно. Не уверен, что используемый на стороне сервера ЯП сможет самостоятельно корректно разобрать входные данные по массивам. Однако, просматривая последовательно параметры в строке входных данных, вполне возможно сделать сопоставление. Как - зависит от используемого ЯП. Другой вариант - изменить форму, сделать имена вроде "phone[0]", "messenger[0][]", "phone[1]", "messenger[1][]" и так далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 19:07 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
да. я вот тоже прихожу к этому мнению. то есть если у нас три номера телефона. то как то вот так генерировать формы <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.01.2019, 00:01 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
celestial, Не уверен, что использовать значения вида "WhatsApp-3" хороший вариант, изменить имена к виду "messenger-3" кажется более правильным и простым. А ещё более правильным "messenger s -3", так как в качестве значения параметра допускается набор или множество опций, а не единственный вариант. Впрочем, на вкус и цвет... Собственно, name и value - обычные атрибуты элементов. Вы в первом посте писали, что форма добавляется динамически яваскриптом. Значит, какое-то представление о работе с DOM из яваскрипта Вы имеете. Но сама тема довольно обширна, так что, посоветовать что-то конкретное сложно. Или задайте вопрос более конкретно, опишите, в чем именно трудность испытываете. В общем смысле, способов добавления новых элементов в документ есть минимум два, а какой используется в данном случае, Вы не сказали. Если выполняется генерация новых html-элементов "с нуля", то достаточно просто сформировать значения атрибутов с учетом суффикса. Но в таком случае вопрос кажется странным. Если же делается копирование или, точнее, клонирование существующего фрагмента DOM, тогда придется пробежаться по элементам клонируемого фрагмента, задать новые значения атрибутов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 03:05 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
vkle, спасибо. Прихожу к мысли что легче использовать JSON и передавать структуру данных на сервер, только вопрос. какой должен быть порядок действий? 1) Я должен сначала создать объект на js. 1.а) выдернуть данные из форм и "засетить" объект этими значениями 2) потом перевести объект в json строку. 2.а) и отправить на сервер. и все это (1 и 2) повесить на событие? или есть готовые методы для генерации json из веб форм? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 13:19 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
celestialvkle, спасибо. Прихожу к мысли что легче использовать JSON и передавать структуру данных на сервер, только вопрос. какой должен быть порядок действий? 1) Я должен сначала создать объект на js. 1.а) выдернуть данные из форм и "засетить" объект этими значениями 2) потом перевести объект в json строку. 2.а) и отправить на сервер. и все это (1 и 2) повесить на событие? или есть готовые методы для генерации json из веб форм? ..если использовать "чистый" джаваскрипт, то да, именно так ... хотя для этого есть уйма библиотек, использующих понятия observable и data-binding (или их аналоги), с помощью которых значения, вводимые в формы автоматически привязываются к объекту, напр. knockout и прочие react/vue ... Другое дело, что чтение документации может занять гораздо большее время, чем решить разовую задачу хотя бы с помощью jquery ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 16:10 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
celestialлегче использовать JSON и передавать структуру данных на серверЕсли на сервере данные непременно должны собраться в JSON и именно в таком виде будут обрабатываться и храниться - тогда, возможно, какой-то смысл в этом есть. Или, если данные должны отправляться на сервер без перезагрузки страницы. Впрочем, в последнем случае более вопрос требований используемой технологии. В остальном же разница невелика и в контексте "легкости" на стороне веб-браузера выигрывает как раз непосредственная отправка формы, так как не требует никакой дополнительной обработки и, как следствие, скриптов/библиотек для преобразования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 20:07 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
vkle, дело в том, что на сервер отправляются однотипные данные. мне нужно как то различать их на приёме. number1 имеет messenger1, messenger2, messenger3... number2 имеет messenger1, messenger2, messenger3... да. без перезагрузки страницы, нужна форма для добавления нового номера телефона. у меня по мере изучения возник другой вопрос. Подскажите, пожалуйста, как я могу штатными средствами броузера (инструменты разработчика chrome/firefox) без сервера тестировать мордочки? а именно смотреть какие данные формируются при отправке формы или json? <<((просто надоедает постоянный редеплой делать, хоть все и автоматически. использую tomcat/servlet/jsp>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2019, 10:44 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
celestialа именно смотреть какие данные формируются при отправке формы или json?точки останова - знакомо? если использовать NB - можно в нём пошагово делать отладку в хроме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2019, 11:42 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
вадя, можно подроблее? nb - Net beans? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2019, 13:59 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
celestial, тестирование - понятие растяжимое хотите покрыть свой код тестами, проверяющими, что он работает правильно? изучайте модульное тестирование: https://www.google.com/search?q=JavaScript unit tests хотите посмотреть, что отправляется вместе с запросом на сервер? F12, вкладка Network хотите другого - опишите подробнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2019, 14:11 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
celestial<<((просто надоедает постоянный редеплой делать, хоть все и автоматически. использую tomcat/servlet/jsp>>Для простейших тестов и начального изучения технологий html/javascript можно чего-нить и попроще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2019, 16:36 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
vklecelestial<<((просто надоедает постоянный редеплой делать, хоть все и автоматически. использую tomcat/servlet/jsp>>Для простейших тестов и начального изучения технологий html/javascript можно чего-нить и попроще.куда уж проще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2019, 16:54 |
|
||
|
выборка данных из формы
|
|||
|---|---|---|---|
|
#18+
celestialПодскажите, пожалуйста, как я могу штатными средствами броузера (инструменты разработчика chrome/firefox) без сервера тестировать мордочки? а именно смотреть какие данные формируются при отправке формы или json? <<((просто надоедает постоянный редеплой делать, хоть все и автоматически. использую tomcat/servlet/jsp>> .. если посмотреть именно, что там в JSON ходит между лицом и сервером, или смоделировать запрос, то довольно удобны Postman и Fiddler ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 12:23 |
|
||
|
|

start [/forum/search_topic.php?author=andrey_kuchay&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 441ms |
| total: | 738ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...