| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > вызов js функции |
| Автор: knut 15.3.2008, 20:46 | ||||
есть php функция и javascript функц, show_hide
почену у мення show_hide функция не вызовается? |
| Автор: SelenIT 15.3.2008, 23:47 | ||
Есть подозрение, что ф-ция show_hide ожидает строки, а получает имена переменных (скорее всего несуществующих). Если так, должно помочь
|
| Автор: vasac 16.3.2008, 14:07 |
| Уж тыщу раз твердили миру: не работает что-то на клиенте, смотрите html-код, а не php-код, который его формирует. |
| Автор: knut 16.3.2008, 19:41 | ||||||
| естд дерево. проблема след. есть 2 баттона (add и remove) и две функции addtodatabase($title,$pid); и RemoveFromDadaBase$title); а вот то что выполняется при нажатие на буттон ы
формируем дерево
и сама йаваскрпит функция
так вот title и pid я получаю когда кликаю на любую ветку в дереве в функции show_hide(label,title,pid); так вот у меня проблема с передачей етиx значении в addtodatabase и RemoveFromDadaBase. Если при онклике в show_hide() е я получил эти значения но вот как перед нажатием на баттоны иx получить? функции addtodatabase и RemoveFromDadaBase добовляют и удаляют ветки в дереве соответственно вот и мне надо на клике получить то метсто куда и буду добовлять или удалять ветки |
| Автор: Sardar 16.3.2008, 22:31 |
| Надеюсь http://www.phpfaq.ru/na_tanke. $m_memN - нужно пропускать через addslashes(), вдруг кавычки попадутся. По теме, либо вбей в поиск ajax, либо создай скрытый фрейм и отсылай в него форму с инфой. document.getElementById("моя форма") - достать форму форма.submit(); - отправить форму форма.elements["имя скрытого поля"].value = .. - установить значение для отправки, где $_REQUEST['имя скрытого поля'] видно на сервере. Этого должно хватить, спрашивай что не ясно. |
| Автор: knut 17.3.2008, 16:29 | ||||
Sardar,
т.е здесь передать скрытый параметр
|
| Автор: Sardar 17.3.2008, 19:56 | ||
| knut, так, сначала дай обещание что http://www.phpfaq.ru/na_tanke ты прочёл и понял. Т.е. ты хорошо понимаешь разницу между клиенткой и серверной сторонами. В итоге поймём, что на сервер мы посылаем запрос, а там уже есть диспетчер, что прочтёт наши параметры и запустит нужную функцию. Пусть это будет параметр ?act=действие, следовательно на сервере switch(@$_REQUEST['act'])... и по содержанию. Теперь осталось сгенерить запрос, можно ajax'ом, но чую тебе лучше сначала разобраться с формами. Добавили на страницу iframe, в него загрузили пустую форму. Форму можно и в основном окне создатать, аттрибутом target="имя фрейма" отослать в ифрейм, но доктайп придётся для фреймов ставить (забей, если слово "валидность" и validator.w3.org для тебя чужды). Можно на лету создавать опции со значениями, но тебе лучше пока заранее добавить <input type="hidden" name="act">, ведь пока других параметров не используем. Далее document.getElementById("ид формы").elements.act.value = действие_понимаемое_сервером;. Всё осталось эту же форму .submit() и вот мы опросили сервер, там вызвались необходимые функции. А как передать больше аргументов? Можно насоздавать заранее массу input'ов, либо:
То же самое, только создали скриптами. |
| Автор: knut 18.3.2008, 14:53 | ||||
| может и туплю но не как не могу понять каким образом мене тут iframe поможет? вот создал iframe И генерим запрос
И уже в Get_Elemen получаем ид ветки в дереве а уже потом добовляем ноду(веку в дерево)
даю да и спасибо за сылку |
| Автор: Atlete 18.3.2008, 15:59 |
| Если я правильно понял твою задачу то как по мне ее легче при помощи ajax решить. Примеров самого простого использования ajax полно. |
| Автор: knut 18.3.2008, 16:39 |
| не умение выражать мысли и неумения четко излагать задачи ослажняет дело тем кто хочет тебя помочь за это прошу прошения а задача у меня след. есть дерево и два баттон а add и соответственно delete так вот мне надо(кликом) выбрать ветку в дереве и или далить или добавить ветку в дереве. а в остальном Sardar, надо болше курить доки.(но принцып клиент-сервермне точно понятен) Добавлено через 4 минуты и 32 секунды сейчас только осилью что сказал Sardar, |
| Автор: Sardar 18.3.2008, 18:06 | ||||||
| Так, представим что на сервере есть модель дерева, а у пользователя есть его графическое представление. По кнопкам хотим добавлять/удалять ноды. На сервере есть сервисы, откликающиеся на:
Пусть есть дерево, в узлах которого кнопки:
Функция addNode показывает текстовое поле, куда вводим имя и по кнопке отправить вызываем createNode(<id родительской ноды>, <имя>). Как создавать элементы на лету обсуждалось не первую тысячу раз, вбей в поиск хотя бы "динамически создать" или "createElement". Имеем createNode и removeNode, что должны опросить ссылки выше. В ответ ожидаем:
Выходит когда запрос отработает, получим уведомление на requestComplete. Вносим в вёрстку заранее скрытый ифрейм:
Тогда послать запросы можно в простейшем случае:
Теперь подумай и напиши removeNode. После расширим код для отлова ошибок и синхронизации запросов, либо если почувствуешь, что готов, перейдём на ajax. |
| Автор: knut 19.3.2008, 22:36 |
| Sardar, я дописал свой код до конца и как не странно он работает(конечно он те само совершенство но будем сторатся ) посмотри если не трудно и дай свои замечания это важно сейчас попробую сделать так как и ты советовал ранее а затем это все сделать ajax ом p.s да и буду блогодарен если скиниш доки по ajax у |