С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
telef
0 / 0 / 0
Регистрация: 18.01.2016
Сообщений: 6
1

Заполнение таблицы из input type=text данными по нажатию кнопки

20.02.2016, 20:53. Просмотров 1492. Ответов 7
Метки нет (Все метки)

Добрый день.
подскажите, пожалуйста новичку
есть таблица из 10 ячеек сделанных с помощью input type=text
и отдельно есть контрольная ячейка для вводимого значения.
нужно чтоб при вводе значения в контрольную ячейку и нажатия на кнопку остальные заполнялись этим значением
без перезагрузки страницы.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2016, 20:53
Ответы с готовыми решениями:

Надо по нажатию кнопки <input type'button' value='ckick Me'> поменять цвет текста в ячейке таблицы
Всем привет! Задача такая - надо по нажатию кнопки &lt;input type'button'...

Создание input type=text
Как создать такое поле? &lt;input type=&quot;text&quot; name=&quot;valuer&quot;&gt; Заранне спасибо!

Кликнули по ссылочке - заполнили <input type=text>
Здравствуйте, у меня к Вам огромная просьба - помогите мне со скриптом, такм...

Значение <select> выбрать из <input type=text>
Здравствуйте, уважаемые скриптеры. У меня такая проблемА, и я незнаю как её...

В зависимости от value select-a заполнить <input type=text>
Пожалуйста, помогите мне сделать так, что бы в зависимости от в зависимости от...

7
alexsamos33
619 / 599 / 325
Регистрация: 26.04.2014
Сообщений: 1,970
20.02.2016, 22:49 2
скрипт:
Javascript
1
2
3
4
5
6
7
8
function autocomplete_fields_in_table() {
    var ctrl_val = document.getElementsByName("tblctrl")[0].value;
    var oInputs = document.getElementsByTagName("table")[0].getElementsByTagName("tr")[0].getElementsByTagName("input");
    for (var i = 0; i < oInputs.length; i++) {
        if (oInputs[i].type.toLowerCase() != "text") { continue; }
        oInputs[i].value = ctrl_val;
    }
}
Таблица:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<table>
  <tr>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
  </tr>
</table>
Контрольное поле и кнопка:
HTML5
1
2
3
4
5
6
<p>
  <input type="text" name="tblctrl" value="">
</p>
<p>
  <input type="button" name="" value="Заполнить" onclick="autocomplete_fields_in_table();">
</p>
0
telef
0 / 0 / 0
Регистрация: 18.01.2016
Сообщений: 6
22.02.2016, 14:18  [ТС] 3
спасибо!
0
telef
0 / 0 / 0
Регистрация: 18.01.2016
Сообщений: 6
28.02.2016, 00:55  [ТС] 4
подскажите, а если я каждый элемент text нумерую id_1?
HTML5
1
2
3
4
<input type='text' name='id_1'>
<input type='text' name='id_2>
...
<input type='text' name='id_n'>
может обозначить их какой-то меткой?
0
alexsamos33
619 / 599 / 325
Регистрация: 26.04.2014
Сообщений: 1,970
28.02.2016, 11:21 5
telef,
PHPHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<form method="GET">
    <input type='text' name='id[]'>
    <input type='text' name='id[]'>
    <input type='text' name='id[]'>
    <input type='text' name='id[]'>
    <input type='submit' value='SEND'>
</form>
 
<script type="text/javascript">
// доступ из JS скриптов
var id_inputs = document.getElementsByName("id[]");
for (var i = 0; i < id_inputs.length; i++) {
    document.write("JS: " + id_inputs[i].value + "<br>");
}
</script>
<hr>
<?php
// доступ из PHP
if(isset($_GET['id']) && is_array($_GET['id'])) {
    foreach ($_GET['id'] as $value) {
        echo('PHP: ' . $value . '<br>');
    }
}
?>
0
telef
0 / 0 / 0
Регистрация: 18.01.2016
Сообщений: 6
08.03.2016, 13:31  [ТС] 6
все работает спасибо,
но второй вариант перезагружает страницу,
первый вариант лучше, только не знаю как его доработать, чтоб таблицу увеличить до такого варианта:
т.е. сделать 5-6 строчек

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<table>
  <tr>
<td><input type="text" name="tblctrl" value=""></td><td><input type="button" name="" value="Заполнить" onclick="autocomplete_fields_in_table();"></td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
  </tr>
<tr>
<td><input type="text" name="tblctrl" value=""></td><td><input type="button" name="" value="Заполнить" onclick="autocomplete_fields_in_table();"></td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
    <td>
      <input type="text" name="tbl[]" value="">
    </td>
  </tr>
</table>
Добавлено через 55 минут
Сделал так, но не работает, подскажите где ошибка

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<table>
 
  
  <tr id='id1'>
    <td><input type='text' name='tblctrl1' value=''>
    <input type='button' name='' value='Заполнить' onclick='autocomplete_fields_in_table(\"id1\",\"tblctrl1\");'>   
 
    <td>      <input type='text' name='tbl[]' value=''>  </td>
    <td>      <input type='text' name='tbl[]' value=''>  </td>
    <td>      <input type='text' name='tbl[]' value=''>  </td>
    <td>      <input type='text' name='tbl[]' value=''>  </td>
    <td>      <input type='text' name='tbl[]' value=''>  </td>  
 
  </tr>
    <tr id='id2'>
    <td><input type='text' name='tblctrl2' value=''>
    <input type='button' name='' value='Заполнить' onclick='autocomplete_fields_in_table(\"id2\",\"tblctrl2\");'>   
    <td>      <input type='text' name='tbl[]' value=''>  </td>
    <td>      <input type='text' name='tbl[]' value=''>  </td>
    <td>      <input type='text' name='tbl[]' value=''>  </td>
    <td>      <input type='text' name='tbl[]' value=''>  </td>
    <td>      <input type='text' name='tbl[]' value=''>  </td>
  </tr>
</table>
Javascript
1
2
3
4
5
6
7
8
function autocomplete_fields_in_table(id1,text1) {
    var ctrl_val = document.getElementsByName(text1)[0].value;
    var oInputs = document.getElementsById(id1)[0].getElementsByTagName("td")[0].getElementsByTagName("input");
    for (var i = 0; i < oInputs.length; i++) {
        if (oInputs[i].type.toLowerCase() != "text") { continue; }
        oInputs[i].value = ctrl_val;
    }
}
0
сВят великиЙ
0 / 0 / 0
Регистрация: 22.09.2015
Сообщений: 33
21.01.2017, 13:35 7
0
kalabuni
Нарушитель
3315 / 2625 / 630
Регистрация: 18.04.2012
Сообщений: 7,939
21.01.2017, 15:00 8
alexsamos33, а зачем в коде вообще использовать name's текстовых полей?
имхо, проще прокрутить в цикле коллекцию всех тегов <input type="text"> ячеек таблицы
document.querySelector('td input[type="text"]')


Цитата Сообщение от telef Посмотреть сообщение
второй вариант перезагружает страницу
замените type="submit" кнопки на "button" -- перезагрузки не будет
0
21.01.2017, 15:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2017, 15:00

Автоматическая очистка строки из input type='text'
Чат - три фрейма, как мне после отправки мессаджа из input type='text' очистить...

Получить значение input type text runat=server
Всем привет. Собственно тема- надо получить значение input с тэгом runat=server...

в тэге <input type=text> как очистить выбранное ?
выбрать выбранное можно text1.select(), а чем очистить ? и сем в буфер...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru