Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Цитируем содержание блока ещё раз |
Автор: Dollor 20.10.2007, 18:14 | ||||||
Делаю форум. Необходимо сделать функцию цитирования. Собственно..делаю ![]() Имеем, например, блок:
и кнопку что-то вроде:
И форму типа:
Смысл: тыкаем на кнопку цитировать, вызываем скрипт которые дублиурет содрежание из блока с id 1 в текстовую форму. Такое возможно сделать? Как? Было бы хорошо ещё и то, чтобы и вниз к этой форму textarea перребрасывало сразу... |
Автор: vasac 20.10.2007, 19:04 |
Видите над сообщением кнопку "быстрая цитата"? Оно? |
Автор: Dollor 20.10.2007, 19:33 |
Нет, не совсем то. Так как многие люди так и не поймут как этим пользоваться ![]() |
Автор: dsCode 20.10.2007, 19:45 |
Dollor, ну так а в чем проблема? Берете innerHTML из этого дива, делаете необходимые преобразования (заменяете br'ы на \n, убираете экранирование спецсимволов и т.д.) и вставляете все это в textare'ю. Можно сделать для этого "дублирующий" объект с сообщениями на странице, чтобы не innerHTML брать, а сразу из объекта (тогда не придется делать преобразования - <span style="font-weight: bold;">test</span> на test и т.д.) |
Автор: Dollor 20.10.2007, 20:02 |
Алгоритм то мне ясен и он очень прост. Но я программист на php, с явой практически не знаком. Меня как раз и интересует процедура: взять из дива и вставить в textarea |
Автор: dsCode 20.10.2007, 20:22 | ||
Dollor,
но это, еще раз повторю, нужно будет дополнить различного рода преобразованиями (или - держать "дублирующий" объект сообщений и брать данные не из innerHTML div'a, а из этого объекта). |
Автор: dsCode 20.10.2007, 23:46 | ||
Dollor,
этого можно было не объяснять ![]() |
Автор: Dollor 21.10.2007, 09:05 |
Можешь всё-таки помочь как-нибудь с этим? |
Автор: dsCode 21.10.2007, 14:07 |
Dollor, с чем? я уже два раза написал, как надо делать (можно сделать). Что конкретно не понятно? Преобразования? .split('<br>').join('\n'), split('&').join('&') и т.д. Правда, когда будут сложные блоки ("цитата в цитате в цитаце в коде и снова в цитате, в ней ссылки и изображения и смайлики") - тут сложнее реплейсы будет использовать (если вообще возможно - смотря как стили нарисованы). Вот, альтернативой и было предложено хранить "дублирующий" объект, но это, естественно, жрет траф. Тогда, кстати, самое оптимальное наверное, будет посыл аякс запроса для получения неформатированного текста из базы и вставка его в текстарию (все равно получается дублирующий траф, но уже для "одного" сообщения, а не всех). Но, для цитаты, это как-то слишком. Другое дело, если у тебя "edit in place" функция - тогда удобно - нажимаем "edit" и тут же на месте текста появляется форма для редактирования. |
Автор: Dollor 21.10.2007, 15:12 |
Тогда наверное попробую с аяксом как раз и сделать |