Показать сообщение отдельно
  #1 (permalink)  
Старый 08.01.2014, 18:33
sst sst вне форума
Новичок на форуме
Отправить личное сообщение для sst Посмотреть профиль Найти все сообщения от sst
 
Регистрация: 06.03.2013
Сообщений: 5

Цитирование на форуме.
Добрый день коллеги!
Пытаюсь модернизировать механизм цитирования на форуме. Сейчас цитирование делается так: при выделении мышкой текста и нажатии на кнопку "Цитировать" в окне сообщения появляется выделенный текст в тегах цитаты. Нужно сделать так, чтобы если текст не выделен, в теги вставлялось все сообщение целиком, а не пустое место как сейчас. Во многих форумах это реализовано.
На взгляд всё очень просто. Но немного не хватет опыта для реализации. Пока не выходит.
Может есть у кого-нибудь опыт в решении подобных задачек? Буду благодарен за любую инфу!

Строка с ссылкой "Цитировать":
<a class=\"d3\" onmouseover=\"copyQN('".$pdata['p_uname']."','p".$pdata['p_id']."');\" href=\"javascript:pasteQ();\" ><span class=\"descr3\">"Цитировать"</a>");


в обработке сообщения принимают участие 2 ф-ции: copyQN и pasteQ();

function copyQN(name,id) {
  txt='';
  lname=name;
  if (document.getSelection) {txt=document.getSelection()}
  else if (document.selection) {txt=document.selection.createRange().text;}
  if (document.getElementById && !txt && document.getElementById(id).innerText) {txt=document.getElementById(id).innerText;}
  else if (document.getElementById && !txt && document.getElementById(id).textContent) {txt=document.getElementById(id).textContent;}
    txt='[q='+name+']'+txt+'[/q]\n';
}

function copyQ() {
  txt=''
  if (document.getSelection) {txt=document.getSelection()}
  else if (document.selection) {txt=document.selection.createRange().text;}
  txt='[q]'+txt+'[/q]\n';
}

function pasteQ() {
   if (txt!='') insertText(document.postform.p_text,txt);
}

Последний раз редактировалось sst, 08.01.2014 в 18:36.
Ответить с цитированием