Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Получение данных из нескольких полей в одно (https://javascript.ru/forum/events/28974-poluchenie-dannykh-iz-neskolkikh-polejj-v-odno.html)

gJam 09.06.2012 12:56

Получение данных из нескольких полей в одно
 
Добрый день, форумчане!
Перейду сразу к делу:
Есть 4 поля <input type="text"....>
и 1 скрытое <input type="hidden"....>
как "собрать" данные из 4х текстовых и "засунуть" в один скрытый..
причем в правильном порядке.. (ну и с разделителем)..

Как я делаю, соответственно у меня не выходит, это прикручиваю к каждому полю обработчик события снятия с фокуса и добавляю данные в массив..
Но, если возвратиться назад и поправить, то всё путается..

Спасибо всем, кто откликнется.
(обработку после отправки формы не предлагать)

Deff 09.06.2012 13:07

Цитата:

Сообщение от gJam
как "собрать" данные из 4х текстовых и "засунуть" в один скрытый..

1. Выложите код формы
2. Вообще: Проще это делать на сервере

KingStar 09.06.2012 13:10

Присваиваешь id элементам, делаешь раз

var a = document.getElementById("id_1").value;
var b = document.getElementById("id_2").value;
var c = document.getElementById("id_3").value;
var d = document.getElementById("id_4").value;


делаешь два (разделитель точка в данном случае)

alert(a+'.'+b+'.'+c+'.'+d);


делаешь три если результат устраивает

document.getElementById("id_result").value = a+'.'+b+'.'+c+'.'+d;


все вешаешь на событие, которое тебе нужно
если тебе нужен результат при изменении в полях input - то вешай на onKeyUp, или onChange

gJam 09.06.2012 13:13

спасибо
у меня просто поля формы генерируются (точнее блоки полей) вида:
<блок>
<input text1>
<input text1>
<input text1>
<input text1>
<собирающий скрытый инпут>
</блок>
<блок>
..</блок>
и тд.. так что пошёл думать над событием которое будет служить моментом "отлова" данных и сбора в скрытый инпут

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


Часовой пояс GMT +3, время: 20:35.