Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.01.2011, 13:45
Новичок на форуме
Отправить личное сообщение для Wh0AreY0u Посмотреть профиль Найти все сообщения от Wh0AreY0u
 
Регистрация: 04.01.2011
Сообщений: 5

Объединение значений нескольких <input>
Здравствуйте, уважаемые девелоперы.

Измучал себе все мозги, перерыл тонны страниц гугла, ну никак не могу решить такую задачу:

есть два <select>:

<select id="1">
<option>A</option>
<option>B</option>
</select>

<select id="2">
<option>C</option>
<option>D</option>
</select>


и один <input>, который будет скрыт:

<input type="text" name="title" />


Хочу сделать так, чтобы значения обоих селекторов передавались в текстовое поле. Например, выбираем в первом селекторе A, а во втором B, в поле появляется A B, которое можно уже отправить на сервер.

Добавил в оба селектора,

<select onchange="parentNode.getElementsByTagName('input')[0].value=value">

но это работает только для одного селектора.

Прошу вашей помощи, ибо в JS я ноль.
Ответить с цитированием
  #2 (permalink)  
Старый 04.01.2011, 15:35
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

<script type="text/javascript">
window.onload = function(){
    var select = document.forms['select'].elements, i = select.length, array = [];
    while(i--){
        select[i].onchange = function(){
            array.push(this[this.selectedIndex].text);
            select[2].value = array;
        };
    }
};
</script>

<form action="" method="post" name="select">
    <select>
        <option disabled>Выберите1</option>
        <option>1</option>
        <option>2</option>
        <option>3</option>
   </select>
    <select>
        <option disabled>Выберите2</option>
        <option>4</option>
        <option>5</option>
        <option>6</option>
   </select>
   <input type="text" value="" />
   <input type="submit" value="Отправить" />
</form>


Ну и соответственно в элементе input['text'] замените на hidden

Последний раз редактировалось monolithed, 05.01.2011 в 11:28.
Ответить с цитированием
  #3 (permalink)  
Старый 04.01.2011, 15:57
Новичок на форуме
Отправить личное сообщение для Wh0AreY0u Посмотреть профиль Найти все сообщения от Wh0AreY0u
 
Регистрация: 04.01.2011
Сообщений: 5

Огромное спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 04.01.2011, 16:13
Новичок на форуме
Отправить личное сообщение для Wh0AreY0u Посмотреть профиль Найти все сообщения от Wh0AreY0u
 
Регистрация: 04.01.2011
Сообщений: 5

А еще такой вопрос: как заместо запятой между двумя значениями поставить пробел?
Ответить с цитированием
  #5 (permalink)  
Старый 04.01.2011, 16:26
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

<script type="text/javascript">
window.onload = function(){
    var select = document.forms['select'].elements, i = select.length;
    while(i--){
        select[i].onchange = function(){
            select[2].value += this[this.selectedIndex].text+' ';
        };
    }
};
</script>

<form action="" method="post" name="select">
    <select>
        <option disabled>Выберите1</option>
        <option>1</option>
        <option>2</option>
        <option>3</option>
   </select>
    <select>
        <option disabled>Выберите2</option>
        <option>4</option>
        <option>5</option>
        <option>6</option>
   </select>
   <input type="text" value="" />
   <input type="submit" value="Отправить" />
</form>


или чуть подправить выражение (в первом примере):
select[2].value = array.join(' ');

Последний раз редактировалось monolithed, 05.01.2011 в 11:28.
Ответить с цитированием
  #6 (permalink)  
Старый 05.01.2011, 19:17
Новичок на форуме
Отправить личное сообщение для Wh0AreY0u Посмотреть профиль Найти все сообщения от Wh0AreY0u
 
Регистрация: 04.01.2011
Сообщений: 5

Ни у кого нет идей, как можно было бы это организовать проще?

Просто возникла проблема, нужно брать информацию из 10 селекторов и отправлять в один input...
Ответить с цитированием
  #7 (permalink)  
Старый 05.01.2011, 19:37
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Wh0AreY0u
Ни у кого нет идей, как можно было бы это организовать проще?
Куда еще проще? Можно конечно разделить формы, но и так все прозрачно...

Сообщение от Wh0AreY0u
Просто возникла проблема, нужно брать информацию из 10 селекторов и отправлять в один input...
В чем проблема-то?

<script type="text/javascript">
window.onload = function(){
    var select = document.forms['select'].elements, i = select.length;
    while(i--){
        select[i].onchange = function(){
            document.forms['input'].elements[0].value += this[this.selectedIndex].text+' ';
        };
    }
};
</script>

<form action="" method="post" name="select">
    <select>
        <option disabled>Выберите1</option>
        <option>1</option>
        <option>2</option>
        <option>3</option>
   </select>
   <select>
        <option disabled>Выберите2</option>
        <option>4</option>
        <option>5</option>
        <option>6</option>
   </select>
   <select>
        <option disabled>Выберите3</option>
        <option>7</option>
        <option>8</option>
        <option>9</option>
   </select>
   <select>
        <option disabled>Выберите4</option>
        <option>10</option>
        <option>11</option>
        <option>12</option>
   </select>
   <select>
        <option disabled>Выберите5</option>
        <option>13</option>
        <option>14</option>
        <option>15</option>
   </select>
   <select>
        <option disabled>Выберите6</option>
        <option>16</option>
        <option>17</option>
        <option>18</option>
   </select>
</form>

<form action="" method="post" name="input">
   <input type="text" value="" />
   <input type="submit" value="Отправить" />
</form>

Последний раз редактировалось monolithed, 05.01.2011 в 19:44.
Ответить с цитированием
  #8 (permalink)  
Старый 05.01.2011, 19:39
Новичок на форуме
Отправить личное сообщение для Wh0AreY0u Посмотреть профиль Найти все сообщения от Wh0AreY0u
 
Регистрация: 04.01.2011
Сообщений: 5

Дуб я

Еще раз спасибо, но я сейчас попробовал изменить на
<script type="text/javascript">
window.onload = function(){
    var select = document.forms['select'].elements, i = select.length;
    while(i--){
        select[i].onchange = function(){
            select[[B][U]10[/U][/B]].value += this[this.selectedIndex].text+' ';
        };
    }
};
</script>

Все работает как нужно :)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умножение численных значений формы ввода FastSP Общие вопросы Javascript 8 08.04.2012 20:45
Сложение нескольких значений элементов frolvict jQuery 2 04.12.2010 11:52
Объединение нескольких строк. T-sh Общие вопросы Javascript 0 04.12.2009 00:27
Переодическое обновление значений для графика, функция для обновления значений yupa87 Общие вопросы Javascript 0 09.07.2009 14:48