Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Onchange при изменении значения из скрипта. (https://javascript.ru/forum/events/15489-onchange-pri-izmenenii-znacheniya-iz-skripta.html)

abstract 01.03.2011 14:47

Onchange при изменении значения из скрипта.
 
Здравствуйте.
Необходимо организовать цепочку вызовов функций каждое звено которой при обновлении вызывает обновление следующего звена.
Грубо говоря есть на странице три инпута.
Схематично:
Я меняю в браузере значение input_1.value и присваиваю, скажем "1".
у этого инпута onchange="function change_input_2(this.value){input_2.value=input_1.v alue}"
Как сделать так, чтобы input_3.value=input_2.value по изменению input_2?

Skipp 01.03.2011 14:54

Самое первое для решения задачи, надо понять логику решение
решение в вашем же вопросе:
Цитата:

у этого инпута onchange="function change_input_2(this.value){input_2.value=input_1.v alue; input_3.value=input_2.value}"

abstract 01.03.2011 14:58

Да это просто пример... Может и не совсем удачный... В общем нужно чтобы в цепочке изменение значений одних элементов приводили к вызову функций для изменения других. В общем цепочка может быть произвольной.

ksa 01.03.2011 14:59

abstract, для затравки...

<script>
function Go() {
	document.getElementById('test').onchange()
}
</script>
<input type='text' id='test' onchange='alert(1)' />
<input type='button' value='Go' onclick='Go()' />

abstract 01.03.2011 15:04

Короче ошибка проектирования... Страница слишком тяжелая для поиска нужных элементов (большинство инпуты). Там изменение одного элемента по логике должно в огромных масштабах повлечь пересчет опосредованно связанных элементов. А поскольку это таблицы, при том динамически растущие...то...чтобы не убиться я должен найти способ менять их по цепочке по событию.

ksa 01.03.2011 15:06

Ты напугать чёле нас решил? :D Или сам уже испугался?

abstract 01.03.2011 15:18

Да нет, это я объяснил почему не хочу делать вот так: input_3.value=input_2.value

abstract 01.03.2011 15:31

ksa, вариант нахожу полезным. Надо попробовать. Спасибо

Skipp 01.03.2011 15:38

а вообще такое ощущение, что вы просто не правильно пытаетесь решить вашу, задачу и что она решается намного проще

dmitriymar 01.03.2011 23:10

Skipp,
Согласен на все 100%


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