![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Dollor |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.10.2007 Репутация: нет Всего: нет |
Делаю форум. Необходимо сделать функцию цитирования. Собственно..делаю
![]() Имеем, например, блок:
и кнопку что-то вроде:
И форму типа:
Смысл: тыкаем на кнопку цитировать, вызываем скрипт которые дублиурет содрежание из блока с id 1 в текстовую форму. Такое возможно сделать? Как? Было бы хорошо ещё и то, чтобы и вниз к этой форму textarea перребрасывало сразу... |
||||||
|
|||||||
vasac |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 13 Всего: 36 |
Видите над сообщением кнопку "быстрая цитата"? Оно?
|
|||
|
||||
Dollor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.10.2007 Репутация: нет Всего: нет |
||||
|
||||
dsCode |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 565 Регистрация: 8.9.2007 Где: Saint-Petersburg Репутация: 19 Всего: 26 |
Dollor, ну так а в чем проблема? Берете innerHTML из этого дива, делаете необходимые преобразования (заменяете br'ы на \n, убираете экранирование спецсимволов и т.д.) и вставляете все это в textare'ю. Можно сделать для этого "дублирующий" объект с сообщениями на странице, чтобы не innerHTML брать, а сразу из объекта (тогда не придется делать преобразования - <span style="font-weight: bold;">test</span> на test и т.д.)
|
|||
|
||||
Dollor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.10.2007 Репутация: нет Всего: нет |
Алгоритм то мне ясен и он очень прост. Но я программист на php, с явой практически не знаком. Меня как раз и интересует процедура: взять из дива и вставить в textarea
|
|||
|
||||
dsCode |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 565 Регистрация: 8.9.2007 Где: Saint-Petersburg Репутация: 19 Всего: 26 |
Dollor,
но это, еще раз повторю, нужно будет дополнить различного рода преобразованиями (или - держать "дублирующий" объект сообщений и брать данные не из innerHTML div'a, а из этого объекта). Это сообщение отредактировал(а) dsCode - 20.10.2007, 20:24 |
|||
|
||||
Dollor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.10.2007 Репутация: нет Всего: нет |
Если так делать, то трафик будет увеличен в несколько раз. Сам представь, каждое сообщение с форума будет загружаться два раза (хоть и выводится то один раз, но скачиватсья два раза) это ладно если не большие сообщения, а ведь бывает, что пишут большие тексты... |
|||
|
||||
dsCode |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 565 Регистрация: 8.9.2007 Где: Saint-Petersburg Репутация: 19 Всего: 26 |
Dollor,
этого можно было не объяснять ![]() |
|||
|
||||
Dollor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.10.2007 Репутация: нет Всего: нет |
Можешь всё-таки помочь как-нибудь с этим?
|
|||
|
||||
dsCode |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 565 Регистрация: 8.9.2007 Где: Saint-Petersburg Репутация: 19 Всего: 26 |
Dollor,
с чем? я уже два раза написал, как надо делать (можно сделать). Что конкретно не понятно? Преобразования? .split('<br>').join('\n'), split('&').join('&') и т.д. Правда, когда будут сложные блоки ("цитата в цитате в цитаце в коде и снова в цитате, в ней ссылки и изображения и смайлики") - тут сложнее реплейсы будет использовать (если вообще возможно - смотря как стили нарисованы). Вот, альтернативой и было предложено хранить "дублирующий" объект, но это, естественно, жрет траф. Тогда, кстати, самое оптимальное наверное, будет посыл аякс запроса для получения неформатированного текста из базы и вставка его в текстарию (все равно получается дублирующий траф, но уже для "одного" сообщения, а не всех). Но, для цитаты, это как-то слишком. Другое дело, если у тебя "edit in place" функция - тогда удобно - нажимаем "edit" и тут же на месте текста появляется форма для редактирования. Это сообщение отредактировал(а) dsCode - 21.10.2007, 14:13 |
|||
|
||||
Dollor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 19.10.2007 Репутация: нет Всего: нет |
Тогда наверное попробую с аяксом как раз и сделать
|
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |