![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| knut |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
есть php функция и javascript функц, show_hide
почену у мення show_hide функция не вызовается? --------------------
|
||||||
|
|||||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 7 Всего: 401 |
Есть подозрение, что ф-ция show_hide ожидает строки, а получает имена переменных (скорее всего несуществующих). Если так, должно помочь
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| vasac |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: нет Всего: 36 |
Уж тыщу раз твердили миру: не работает что-то на клиенте, смотрите html-код, а не php-код, который его формирует.
|
|||
|
||||
| knut |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
естд дерево.
проблема след. есть 2 баттона (add и remove) и две функции addtodatabase($title,$pid); и RemoveFromDadaBase$title); а вот то что выполняется при нажатие на буттон ы
формируем дерево
и сама йаваскрпит функция
так вот title и pid я получаю когда кликаю на любую ветку в дереве в функции show_hide(label,title,pid); так вот у меня проблема с передачей етиx значении в addtodatabase и RemoveFromDadaBase. Если при онклике в show_hide() е я получил эти значения но вот как перед нажатием на баттоны иx получить? функции addtodatabase и RemoveFromDadaBase добовляют и удаляют ветки в дереве соответственно вот и мне надо на клике получить то метсто куда и буду добовлять или удалять ветки --------------------
|
||||||||
|
|||||||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 2 Всего: 317 |
Надеюсь это не в новинку.
$m_memN - нужно пропускать через addslashes(), вдруг кавычки попадутся. По теме, либо вбей в поиск ajax, либо создай скрытый фрейм и отсылай в него форму с инфой. document.getElementById("моя форма") - достать форму форма.submit(); - отправить форму форма.elements["имя скрытого поля"].value = .. - установить значение для отправки, где $_REQUEST['имя скрытого поля'] видно на сервере. Этого должно хватить, спрашивай что не ясно. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| knut |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Sardar,
т.е здесь передать скрытый параметр
Это сообщение отредактировал(а) knut - 17.3.2008, 16:34 --------------------
|
||||||
|
|||||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 2 Всего: 317 |
knut, так, сначала дай обещание что эту ссылку ты прочёл и понял. Т.е. ты хорошо понимаешь разницу между клиенткой и серверной сторонами.
В итоге поймём, что на сервер мы посылаем запрос, а там уже есть диспетчер, что прочтёт наши параметры и запустит нужную функцию. Пусть это будет параметр ?act=действие, следовательно на сервере switch(@$_REQUEST['act'])... и по содержанию. Теперь осталось сгенерить запрос, можно ajax'ом, но чую тебе лучше сначала разобраться с формами. Добавили на страницу iframe, в него загрузили пустую форму. Форму можно и в основном окне создатать, аттрибутом target="имя фрейма" отослать в ифрейм, но доктайп придётся для фреймов ставить (забей, если слово "валидность" и validator.w3.org для тебя чужды). Можно на лету создавать опции со значениями, но тебе лучше пока заранее добавить <input type="hidden" name="act">, ведь пока других параметров не используем. Далее document.getElementById("ид формы").elements.act.value = действие_понимаемое_сервером;. Всё осталось эту же форму .submit() и вот мы опросили сервер, там вызвались необходимые функции. А как передать больше аргументов? Можно насоздавать заранее массу input'ов, либо:
То же самое, только создали скриптами. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| knut |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
может и туплю но не как не могу понять каким образом мене тут iframe поможет?
вот создал iframe И генерим запрос
И уже в Get_Elemen получаем ид ветки в дереве а уже потом добовляем ноду(веку в дерево)
даю да и спасибо за сылку --------------------
|
||||||
|
|||||||
| Atlete |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 15.8.2007 Репутация: нет Всего: нет |
Если я правильно понял твою задачу то как по мне ее легче при помощи ajax решить.
Примеров самого простого использования ajax полно. Это сообщение отредактировал(а) Atlete - 18.3.2008, 16:09 |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 2 Всего: 317 |
Что то я уже путаюсь, но не пойму, мы хотим отправить инфу на сервер (id узла к примеру, что бы удалить) или наоборот принять (инфу узла, что бы на клиенте отобразить)? Ну если немного теории поучить, то можно узнать что такое iframe и почему вёрстка, что ты привёл не имеет особого смысла. Я давал примеры для отправки инфы на сервер, после твоего последнего поста я всё же не уверен, что это тебе нужно... knut, таки дочитай ту ссылку, затем хорошо осмысли что ты делаешь и как устроенно взаимодействие клиента с сервером (помогают наглядные примеры, допустим открыть gmail.com и отключить и-нет, посмотреть на ошибки). После понять что такое запрос (в википедии узнать про разного рода RPC механизмы, временно выбросить их из головы и всё таки думать в запросах/ответах). Не останавливаться пока не поймёшь что такое HTTP запрос, затем напиши свой серверный скрипт, что будет что нибудь делать по параметру. Затем в ручную из браузера набери URL и убедись, изменяя параметр, что поведение серверного скрипта меняется. Затем создай страницу, добавь <iframe src="тот URL, что вбивал в адресную строку">. Ну а последним штрихом будет <iframe id="test"> и document.getElementById("test").src = "снова тот URL"; Пройдя все эти шаги ты действительно поймёшь, о чём та статься, что я так прошу тебя прочесть. Добавлено через 2 минуты и 8 секунд Мне кажется knut не понимает принципа клиент-сервер, на этом этапе очень вредно приучать к ajax'у, красивым RPC и прочему. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| knut |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
не умение выражать мысли и неумения четко излагать задачи ослажняет дело тем кто хочет тебя помочь
за это прошу прошения а задача у меня след. есть дерево и два баттон а add и соответственно delete так вот мне надо(кликом) выбрать ветку в дереве и или далить или добавить ветку в дереве. а в остальном Sardar, надо болше курить доки.(но принцып клиент-сервермне точно понятен) Добавлено через 4 минуты и 32 секунды сейчас только осилью что сказал Sardar, --------------------
|
|||
|
||||
| Sardar |
|
||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 2 Всего: 317 |
Так, представим что на сервере есть модель дерева, а у пользователя есть его графическое представление. По кнопкам хотим добавлять/удалять ноды.
На сервере есть сервисы, откликающиеся на:
Пусть есть дерево, в узлах которого кнопки:
Функция addNode показывает текстовое поле, куда вводим имя и по кнопке отправить вызываем createNode(<id родительской ноды>, <имя>). Как создавать элементы на лету обсуждалось не первую тысячу раз, вбей в поиск хотя бы "динамически создать" или "createElement". Имеем createNode и removeNode, что должны опросить ссылки выше. В ответ ожидаем:
Выходит когда запрос отработает, получим уведомление на requestComplete. Вносим в вёрстку заранее скрытый ифрейм:
Тогда послать запросы можно в простейшем случае:
Теперь подумай и напиши removeNode. После расширим код для отлова ошибок и синхронизации запросов, либо если почувствуешь, что готов, перейдём на ajax. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||
|
|||||||
| knut |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Sardar,
я дописал свой код до конца и как не странно он работает(конечно он те само совершенство но будем сторатся ) посмотри если не трудно и дай свои замечания это важно сейчас попробую сделать так как и ты советовал ранее а затем это все сделать ajax ом p.s да и буду блогодарен если скиниш доки по ajax у Присоединённый файл ( Кол-во скачиваний: 5 )
tree_.rar 2,53 Kb--------------------
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |