Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   При отметке checkbox заполнение поля input text значением из друого поля на странице (https://javascript.ru/forum/dom-window/58451-pri-otmetke-checkbox-zapolnenie-polya-input-text-znacheniem-iz-druogo-polya-na-stranice.html)

mxup 22.09.2015 18:49

При отметке checkbox заполнение поля input text значением из друого поля на странице
 
Здравствуйте, хотелось бы спросить как реализовать яваскриптом (я так понял лучше всего им так сделать) следующее:
Есть поле текстовое Input Text
За ним следует такое же поле Input Text
Вот надо сделать Checkbox, при установке которого значение, введённое в первое поле Input Text копировалось во второе поле Text Input
Ну как бы у пользователя спрашивается: Отметьте галочкой если значение во втором поле совпадает с значением в первом поле

Lemme 22.09.2015 19:04

<input type="text" id="first" value="some value">
<input type="text" id="second">
<input type="checkbox" id="copy">

<script>
	document.getElementById('copy').onchange = function() {
		var f = document.getElementById('first'),
			s = document.getElementById('second');

		s.value = this.checked ? f.value : '';
	}
</script>

mxup 22.09.2015 19:09

Ооо спсибooо!!!)

jkr 11.12.2017 10:56

А что если input-источника нет, а есть несколько checkbox-ов и один input, в который необходимо отправлять, например name или value каждого из checkbox-ов по отметке?

Dilettante_Pro 11.12.2017 13:59

jkr,
В обработчике onchange использовать в качестве источника this.value или this.name

jkr 11.12.2017 15:12

Цитата:

Сообщение от Dilettante_Pro (Сообщение 472589)
jkr,
В обработчике onchange использовать в качестве источника this.value или this.name

Спасибо, надо будет прикупить себе простенькую книжку для начала:

jkr 11.12.2017 15:45

Цитата:

Сообщение от Dilettante_Pro (Сообщение 472589)
jkr,
В обработчике onchange использовать в качестве источника this.value или this.name

Сработало ровно до тех пор, пока не добавил ещё один Checkbox с тем же ID, но другим Value. Выглядит это сейчас у меня так:
<input type="checkbox" id="protection" value="value1">
<input type="checkbox" id="protection" value="value2">
<script>
	document.getElementById('protection').onchange = function submitprotection() {
		var artikul = document.getElementById('artikul');

		artikul.value += this.checked ? protection.value : '';
	}
</script>
<input type="text" id="artikul">

кроме того, добавил value +=, так как необходимо, чтобы Input дополнялся из нескольких Checkbox-ов. В связи с эти ещё один вопрос, как сделать так, чтобы Input не заполнялся бесконечно от "тыканья" в один Checkbox?

Dilettante_Pro 11.12.2017 15:59

jkr,
Цитата:

Сообщение от jkr
ещё один Checkbox с тем же ID

Прописные истины - полистайте тот учебник. ID должен быть уникальным.

jkr 11.12.2017 16:27

Цитата:

Сообщение от Dilettante_Pro (Сообщение 472616)
jkr,

Прописные истины - полистайте тот учебник. ID должен быть уникальным.

Ok, но можно ли доработать скрипт, чтобы он отправлял значения из нескольких однотипных Checkbox-ов в один текстовый Input?

Dilettante_Pro 11.12.2017 16:45

jkr,
Однотипных - по какому признаку?


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