![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Aver78 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Суть проблемы такова. существует 3 дива один под другим. Во время первого обращения к сайту создаются все 3 дива, контент в 1 и подключаются все плгины jquery. Потом используя плагин jquery.ajaxContent.js при клике на линке в 1 диве загружается контент 2-ого. С линков 2 дива также грузиться 3. В 3 существует форма к которой нужно подключить jquery.validate.js. Так вот как я ни бьюсь плагин не подключается. То что созданная функция для данной формы работает - 100%, проверял. Похоже проблема именно в том, что динамически созданные элементы jquery не учитываются(по крайней мере как обычно). В общем довольно сумбурно объяснил, но кто сталкивался с такой проблемой - думаю поймет.
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
Поробуй подключить плагин livequery. Если не поможет - бросай сюда куски кода...
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Aver78 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Вроде бы то что надо, но никак не пойму синтаксис. Везде примеры на click, а я никак не пойму аналогию. Попробую разобраться (
|
|||
|
||||
| Aver78 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Скину, заодно, и функцию которую надо запустить, расчитываю на совет.
$(function() { var options = { target: '#admin_modul_work' }; $('#edit_admin').validate ({ submitHandler: function(form) { $(form).ajaxSubmit(options); }, rules: { email2: { required: true, minlength: 5, maxlength: 12, email: true }}, messages: { email2: { required: 'Укажите свое имя!', minlength: 'Не менее 5 символов', maxlength: 'Не более 12 символов', email: 'Сие должно быть мылом' }} }); }); Это сообщение отредактировал(а) Aver78 - 21.3.2008, 14:41 |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
В этом случае, наверное, проще написать как-то так
Совет с liveQuery был в этом случае, не очень удачным... :-( -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Aver78 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Мне кажется можно как то live подключить, ну да ладно, бог с ним пока что.
Переведу вопрос в другую плоскость. файл 1 - подключение библиотек и плагинов jquery. фалй 2 - классы php файл 3 - непосредственно исполнение методов подлюченных классов. Если я загоняю эту функция в файл 3, напрямую в php код, то все замечательно, а если подключаю ее из внешенего файла echo "<script type='text/javascript' src='script.js'></script>"; то перестают работать ВСЕ методй jquery. В чем тут косяк ? Можно конечно и так оставить, но не эстетично и не наглядно. |
|||
|
||||
| ksnk |
|
||||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
То есть если вместо
написать
и сбросить ту самую функцию в файл script.js, то все ломается? так не бывает... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||||
|
|||||||
| Aver78 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Я тоже так думал. Но вот есть. При чем не работает не только функция ассоциированная с данной формой, но отваливается функция которая выводит эту форму в определенный див, то есть просто вызывается этот скрип. В общем jquery падает полностью.
Кстати, такая же фигня была если я при обращении ajax заново производил подключение скриптов. Привожу пример. файл 1 echo "<script type=\"text/javascript\" src=\"../include/jquery/jquery.latest.js\"></script>"; echo "<script type=\"text/javascript\" src=\"../include/jquery/jquery.ajaxContent.js\"></script>"; <div id=n1> ссылка вызывающая файл 2, результат работы которого загружается при момощи jquery.ajaxContent.js в див nn2 </div> <div id=n2> (сюда будет загружен результат работы файла 2) </div> файл 2 echo "<script type=\"text/javascript\" src=\"../include/jquery/jquery.latest.js\"></script>"; echo "<script type=\"text/javascript\" src=\"../include/script.js\"></script>"; echo "Результат"; Так вот, если запускать в таком виде, то файл 2 будет вызван, как будто по обычной ссылке <a href="http://файл2">Файл 2</a> А если убрать реконект скриптов, то все прекрасно загрузиться в див. В чем проблема я не догоняю. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
А зачем jquery подключается второй раз?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Aver78 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Ну это так, к примеру.
файл 2 echo "<script type=\"text/javascript\" src=\"../include/script.js\"></script>"; echo "Результат"; Пусть будет так. Результат один и тот же. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
Боюсь, что никак... в подключаемом html не должно быть тегов script. Возможно и есть плагины, которые парсят входящий текст, но мне они неизвестны...
Хм... ерунда, однако... Это сообщение отредактировал(а) ksnk - 23.3.2008, 17:51 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Aver78 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Дело в том, что я подключал таким образом, правда давно уже и не помню возникала ли такая проблема. Но все работало.
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
Вообще-то да, должно работать... Может ошибки в тексте? FireBug ничего не говорит плохого?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Aver78 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Хм, я забыл одну маленькую, но существенную деталь. Данный код не работает только в опере. Firefox и IE кушают без проблем.
Просто у меня приоритетный браузер опера, вот и забыл указать. Но проблема остается проблемой. Opera 9.26 |
|||
|
||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
вот такое работает в Опере
test5.html
Добавлено через 28 секунд Opera 9.26 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| Aver78 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Забавные глюки продолжаются.
Использовал пример выше для обновления 2 дива после срабатывания формы. Все замечательно работает... но, 1 раз. То бишь див обновляется и juqery опять падает. Это сообщение отредактировал(а) Aver78 - 24.3.2008, 02:29 |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
как падает, куда падает, с какой высоты? FireBug помогает?
Если присмотреться к "коду выше", то можно понять, что форма ничего никуда разумно переслать не в состоянии, ответной части с стороны сервера у нее нет... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Aver78 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 21.4.2007 Репутация: нет Всего: нет |
Этот код вызызвается в файле ответа формы. Див формы обновляется этим файлом, а этот кусок обновляет другой див. Так вот после этого вызова jquery умирает. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |