Много вариантов..
Pavel Zagrebelin 09.10.2003 10:46
Как я делал:
1. iframe нулевого размера, туда говорить что дерево изменило состояние, парсером складывать в базу. У меня замечательно в интранете крутиться.
2. При изменении состояния в куку js дописываем id:state; получается что-то типа такого:
id1:open;id2:close;id1:close;id1:open;
(id1 дергается потому что пользователь открывал/закрывал ветку).
потом парсером это дело разбираем в таблицу id-state, оставляя только последнее вхождение для каждого id. Те значения, которые eq default, убираем а из оставшегося формируем новую куку (id1:open;id2:close) и отдаём её браузеру.
Блин, объяснение получилось длиннее чем код. ;)