Доброго времени суток! По целому ряду причин возникла необходимость вывода формы добавления комментария в AJAX-окне. Порылся по интернету, нашел кучу вариантов вывода в окошке добавления различных материалов, а вот с комментариями для юкоза не нашел ничего. Точнее, нашел единственную ссылку, но этот способ как-то странно работает. В панели управления, на странице формы добавления комментариев заключаю весь код в дивный блок и дописываю такой код:
Код
<a href="javascript://" onclick="wind_add_com()">Добавить комментарий</a> <script> function wind_add_com(){ _uWnd.alert($("#com_add_form").html(),'Добавление комментария',{name:'add_com', align:'left', w:700, h:600}) }; </script> <div id="com_add_form" style="display:none;"> ВЕСЬ КОД UCOZ-а </div>
Как бы... выводит форму в окошке, но... там выводится форма в форме и ничего не работает... Если на код в css и html я уже не смотрю, как баран на новые ворота, то со скриптами беда. Что нужно переделать в коде, чтобы заработало? Или этот путь вообще тупиковый и все нужно делать иначе?
Сообщение отредактировал vospa - Понедельник, 02.11.2015, 15:24
Воу! Огромное человеческое спасибо! А то я уже пошел по запасным вариантам и стал делать чисто на css с выезжающим блоком. Но с AJAX-окошком, конечно же, намного лучше
Сообщение отредактировал vospa - Понедельник, 02.11.2015, 19:25
Очень надеюсь, что с этим справлюсь самостоятельно. Нечто похожее уже делал. Теперь буду пытаться сообразить почему все заработало
Добавлено (02.11.2015, 22:28) --------------------------------------------- Мда... я идиот... Сначала не заработал и Ваш вариант. Все так же, форма в форме. Потом, наконец таки дошло, и отключил визуальный редактор комментариев, и... заработало Больше того, заработал даже исходный код, с которым я мучался
Сорри, что не ответил сразу, отвлекся на пару дней. Хмм... последние варианты подразумевают, что и визуальный редактор будет правильно отображаться? Попробовал, но... все равно получается окно в окне. Единственно, теперь стала отображаться только одна панель инструментов, а вот текстовых полей все равно два... Впрочем, не принципиально, без визуального же работает. Правда, все равно не все. В частности, не работают юкозовские кнопки подписки и анонимности. Я ведь связался с выносом формы в окно только потому, что с ней у меня совершенно не дружит установленный у меня скролл бар. Да и вообще, еле удалось помирить версию jquery c еще двумя плагинами, скролл баром и флип галереей. Наверное, заставить их дружить друг с другом можно, включая и форму добавления комментариев, но это уже значительно превосходит мои текущие познания. А просить разбираться постороннего человека в моем нагромождении кода (уж как смог ), мягко говоря, неприлично. В конечном итоге, отказался я от аякс окна и сделал все на html и css. Но в любом случае, большое спасибо. Я уже знаю, где Вашим кодом воспользуюсь А с текущей задачей я пока справился таким вот образом: My WebPage
Сообщение отредактировал vospa - Суббота, 07.11.2015, 11:39
Попробовал, но... все равно получается окно в окне. Единственно, теперь стала отображаться только одна панель инструментов, а вот текстовых полей все равно два...
Значит нужно удалить еще и лишнее поле..
Такое получается из-за повторной инициализации скрипта редактора и он дублирует элементы. Скрипт редактора не ковырял, ибо не пользуюсь, так что вариантом стал способ обычного удаления дублирующихся элементов. Правильнее, конечно, было бы скорректировать сам скрипт, но.. вот так.
Да и вообще, еле удалось помирить версию jquery c еще двумя плагинами, скролл баром и флип галереей.
Ваш текущий вариант - с позиционированием формы - хорошая альтернатива аякс окошку.
ps Замечен небольшой косяк (мозилла 42) - при открытии формы нельзя выделить ничего из самой новости, ибо форма выше по индексу и перекрывает новость. Не оч. удобно, если хочешь процитировать что-то.
- Это тот, что прокручивает картинки на заднем плане?
Нет, это просто нештатный скролл бар. В приведенной ссылке просто новость короткая и его не видно. Так вот, если форма оказывается внутри блока со скроллом, то страница не отображается вообще. Мелькнет на секунду при обновлениии, и все, дальше белый экран. Вот из-за этого я и решил вынести форму в отдельное окно. А вообще, у меня были конфликты с выбранной версией библиотеки jquery, вот этим самым скролл баром и плагином прокручивания картинок на заднем плане. До смешного доходило. На версиях jquery до 1.5.2 работает ПОЧТИ все, но все равно приходится изворачиваться с мелкими косяками. До версии 1.9 не работает скролл бар на некоторых страницах. А начиная с 1.9.1 скролл бар работает как часы, зато не работает другой плагин Вот и пришлось изворачиваться, сообразно своим силам.
Цитата
Замечен небольшой косяк
Ага. Там еще есть мелкие недоработки, так что я пока в процессе
Сообщение отредактировал vospa - Суббота, 07.11.2015, 14:37
Нет, это просто нештатный скролл бар. В приведенной ссылке просто новость короткая и его не видно. Так вот, если форма оказывается внутри блока со скроллом, то страница не отображается вообще. Мелькнет на секунду при обновлениии, и все, дальше белый экран.
Это потому что в форме есть document.write, а скроллбар формируется перемещением контента в болоки со скроллом .. ну и, соответственно, при перемещении выполняется document.write, и наблюдается белый экран. Для решения проблемы нужно, либо исключить перемещение, то бишь пормировать блоки руками в шаблоне, либо удалить из перемещаемого кода такие вещи, как document.write, типа как сделано в, предоставленных выше, фрагментах.
На версиях jquery до 1.5.2 работает ПОЧТИ все, но все равно приходится изворачиваться с мелкими косяками. До версии 1.9 не работает скролл бар на некоторых страницах. А начиная с 1.9.1 скролл бар работает как часы, зато не работает другой плагин
Ну, данный вопрос навскидку не решишь - нужно смотреть дебаг - какие конкретно ошибки возникают и корректировать скрипты, в зависимости от ситуации. Я не встречался с ситуациями, которые нельзя, так или иначе, разрешить.