Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   общее поле ввода для двух форм (https://javascript.ru/forum/events/79302-obshhee-pole-vvoda-dlya-dvukh-form.html)

conormcgregor 21.01.2020 15:57

общее поле ввода для двух форм
 
Привет всем.
Вроде не трудный вопрос, но нагуглить не смог

Есть 2 формы, как объединить их input text? Чтобы было 1 общее поле ввода для двух форм

<button id="button1" title="" onclick="
setTimeout('x1.submit()', 	100	);
setTimeout('x2.submit()', 	100	);

"> Выполнить</button>


<form method="post" action="http://....." name="x1" target="y1">
<input type="hidden" name=one>
<input type="hidden" name=two>
<input type="hidden" name=three>
<input type="text" name="action"  value="">
</form>

<form method="post" action="http://....." name="x2" target="y1">
<input type="hidden" name=one>
<input type="hidden" name=two>
<input type="hidden" name=three>
<input type="text" name="action"  value="">
</form>

Malleys 21.01.2020 16:19

Цитата:

Сообщение от conormcgregor
Есть 2 формы, как объединить их input text? Чтобы было 1 общее поле ввода для двух форм

Заведите ещё одну форму (которая никуда не будет оправляться), в которой будет вводиться значение, которое будет подставляться в другие формы. А в других формах замените type="text" на type="hidden"

conormcgregor 21.01.2020 16:59

Цитата:

Сообщение от Malleys (Сообщение 519021)
Заведите ещё одну форму (которая никуда не будет оправляться), в которой будет вводиться значение, которое будет подставляться в другие формы. А в других формах замените type="text" на type="hidden"

а как подставить?

Malleys 21.01.2020 17:24

Цитата:

Сообщение от conormcgregor
а как подставить?

Например так...
<form id="fake-form" onsubmit="
	setTimeout('x1.submit()', 100);
	setTimeout('x2.submit()', 100);
	return false;
">
	<input type="text" name="action" value="" oninput="">
	<button id="button1">Выполнить</button>
	<script>
		document.getElementById("fake-form").addEventListener("input", event => {
			for(const input of document.querySelectorAll(`form [name="${event.target.name}"]`)) {
				input.value = event.target.value;
			}
		});
	</script>
</form>

<form method="post" action="http://....." name="x1" target="y1">
	<input type="hidden" name=one>
	<input type="hidden" name=two>
	<input type="hidden" name=three>
	<input type="hidden" name="action" value="">
</form>

<form method="hidden" action="http://....." name="x2" target="y1">
	<input type="hidden" name=one>
	<input type="hidden" name=two>
	<input type="hidden" name=three>
	<input type="hidden" name="action" value="">
</form>

ksa 22.01.2020 06:29

Цитата:

Сообщение от Malleys
document.getElementById("fake-form").addEventListener("input", event => {...});

Формы скорее всего нужны для отправки данных... Т.ч. вполне может подойти событие submit...


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