Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Получить значение value с поля input (https://javascript.ru/forum/events/80148-poluchit-znachenie-value-s-polya-input.html)

Юсуф 02.05.2020 14:35

Получить значение value с поля input
 
Добрый день. помогите получить значение value с input
<tr class="rrr">
<td >1</td><td><input class="codeId" type="hidden" name="code" value="69875" /></td><td><input  type="text" name="trafic" value="" /></td>

Как мне получить значение value с input name="code" с учетом нескольких моментов
1. Нужно получить значение с input name="code" при вводе более двух символов в другой input (name="trafic"). есть скрипт которые уже считывает кол-во веденные символы в name="trafic".
2. Строка <tr>будет разное количество но у него будет один класс например class="rrr"
3. Столбец<td> больше чем в примере, но столбец где есть именно этот input name="code" имеет класс class="codeId"

Юсуф 02.05.2020 17:00

неужели вопрос оказался таким сложным?

Malleys 02.05.2020 17:21

Цитата:

Сообщение от Юсуф
Как мне получить значение value с input name="code" с учетом нескольких моментов

На строке №14 указано, что нужно показать то поле...

<table>
	<tr class="rrr">
		<td>1</td>
		<td><input class="codeId" type="hidden" name="code" value="69875" /></td>
		<td><input type="text" name="trafic" value="" /></td>
	</tr>
</table>

<script>
addEventListener("input", ({ target }) => {
	if(target.matches(".rrr input[name=trafic]")) {
		const root = target.closest(".rrr");
		const codeId = root.querySelector(".codeId[name=code]");
		codeId.type = target.value.length > 2 ? "text" : "hidden";
	}
});
</script>

Юсуф 02.05.2020 17:54

Цитата:

Сообщение от Malleys (Сообщение 523723)
На строке №14 указано, что нужно показать то поле...

<table>
	<tr class="rrr">
		<td>1</td>
		<td><input class="codeId" type="hidden" name="code" value="69875" /></td>
		<td><input type="text" name="trafic" value="" /></td>
	</tr>
</table>

<script>
addEventListener("input", ({ target }) => {
	if(target.matches(".rrr input[name=trafic]")) {
		const root = target.closest(".rrr");
		const codeId = root.querySelector(".codeId[name=code]");
		codeId.type = target.value.length > 2 ? "text" : "hidden";
	}
});
</script>

Практически то самое что я хотел, но мне нужно значение
<input class="codeId" type="hidden" name="code" value="69875" />
получить в переменную, а не подставлять в другой инпут. значение будут разное и инпутов много. единственное классы для них одинаковые как указанно выше class="codeId" и class="rrr"

Malleys 02.05.2020 18:00

Цитата:

Сообщение от Юсуф
а не подставлять в другой инпут. значение будут разное и инпутов много. единственное классы для них одинаковые как указанно выше class="codeId" и class="rrr"

А где вы увидели подстановку?

<table>
	<tr class="rrr">
		<td>1</td>
		<td><input class="codeId" type="hidden" name="code" value="69875" /></td>
		<td><input type="text" name="trafic" value="" /></td>
	</tr>
</table>

<script>
addEventListener("input", ({ target }) => {
	if(target.matches(".rrr input[name=trafic]")) {
		const root = target.closest(".rrr");
		const codeId = root.querySelector(".codeId[name=code]");
		if(target.value.length > 2) {
			const code = codeId.value;
			// тут пишите, что хотели, code — это строка, которая в поле name="code", 
			// root — это строчка таблицы, в которой происходит ввод, target — это поле, куда вводили более двух символов
		}
	}
});
</script>


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