Помощь Быстрая отправка Ctrl+Enter

Тема в разделе "DLE", создана пользователем sergey_479, 7 фев 2010.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. sergey_479

    sergey_479 Создатель

    Регистр.:
    4 июл 2009
    Сообщения:
    18
    Симпатии:
    4
    Пришла идейка создать быструю отправку сообщений, коментариев и т.д в DLE с помощью клавиш Ctrl+Enter. Ведь так намного удобней и быстрей отправлять, такая система отправки используется во многих скриптах и соц. сетях к примеру вконтакте. Может кто знает как это реализовать или уже делал это, то подскажите. Заранее спасибо!!:)
     
  2. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    это делается через js отслеживанием клавиш нажатых юзверем ..
    можно вытянуть готовое из другого двига ... видел в компоненте комментариев под joomla
     
  3. Ernest

    Ernest

    Регистр.:
    26 сен 2006
    Сообщения:
    238
    Симпатии:
    58
    Юзайте поиск этот хак уже давно существует, и на нулле тоже где то лежал.
    вот тут например такой http://razn.ru/ стоит
     
  4. yavasilek

    yavasilek vasilek_gorbunok

    Регистр.:
    5 окт 2008
    Сообщения:
    1.175
    Симпатии:
    423
    Открываем файт addcomments.tpl в папке с шаблоном.
    Перед
    <textarea />
    или рядом вставляем следующую функцию.

    <script language="JavaScript">
    document.onkeydown=function(e){
    if (e) event=e
    if ((event.keyCode==13)&&(event.ctrlKey)){
    doAddComments();return false;
    }}
    --></script>


    Добавляем в тэг
    <textarea />
    в качестве атрибута событие:
    onkeydown="function(e)"

    Для ясности правим кнопку отправки. Я лично, убрал картинку и оставил обычную кнопку класса bbcodes.
    <input onClick="doAddComments();return false;" name="submit" type="submit" value="Отправить (Ctrl+Enter)" class="bbcodes">
    хак то есть, но на 8.3 не понятно куда вставлять т.к. нет textarea в шабе добавления коммента.
    Куда вставлять?
     
  5. z00f

    z00f Создатель

    Регистр.:
    17 апр 2009
    Сообщения:
    32
    Симпатии:
    3
    есть-есть ))
    ищи там {editor}
    это и есть будущий редактор, который движок потом туда вставит.
    попробуй сразу после него воткнуть этот скрипт
     
  6. MSW

    MSW

    Регистр.:
    27 авг 2007
    Сообщения:
    491
    Симпатии:
    408
    всё делается проще:
    в файл шаблона, в поле ввода данных, например: /templates/шаблон/pm.tpl(addcomments.tpl)
    найти:
    Код:
    <textarea name="comments"
    добавить тутже:
    Код:
    onkeypress="if(event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {submit();}"
    примерно получим такое:
    Код:
    <textarea name="comments" onkeypress="if(event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {submit();}" ...
     
  7. yavasilek

    yavasilek vasilek_gorbunok

    Регистр.:
    5 окт 2008
    Сообщения:
    1.175
    Симпатии:
    423
    неа не работает
    смотри внимательней! в 8,3 нет textarea а есть только тег {editor}
    Подразумеваю что изменения надо вносить в место где формируется тег {editor} чтобы он уже содержал изменения...сейчас нет возможности проверить...как проверю - отпишусь
     
  8. MSW

    MSW

    Регистр.:
    27 авг 2007
    Сообщения:
    491
    Симпатии:
    408
    /engine/editor/comments.php
     
    vasilek_gorbunok нравится это.
  9. sergey_479

    sergey_479 Создатель

    Регистр.:
    4 июл 2009
    Сообщения:
    18
    Симпатии:
    4
    Для DLE 8.3 для BBCODES редактора:
    1) Открыть /engine/modules/bbcode.php
    2) Найти:
    Код:
    <textarea name="comments" id="comments" style="width:463px;height:156px;border:0px;" onclick="setNewField(this.name, document.getElementById( 'dle-comments-form' ))">{text}</textarea>
    3) Заменить на:
    Код:
    <textarea onkeypress="if((event.ctrlKey) && ((event.keyCode==0xA)||(event.keyCode==0xD))) {doAddComments();return false;}" title="Ctrl+Enter" name="comments" id="comments" style="width:463px;height:156px;border:0px;" onclick="setNewField(this.name, document.getElementById( 'dle-comments-form' ))">{text}</textarea>
    4) Всё :)
     
    vasilek_gorbunok нравится это.
  10. yavasilek

    yavasilek vasilek_gorbunok

    Регистр.:
    5 окт 2008
    Сообщения:
    1.175
    Симпатии:
    423
    работает только в том случае, если фокус убрать с поля ввода...т.е. пока там курсор мигает - не отправляет...а так гуд, но не доконца.
    Ктонить решить эту проблему??
    браузер - firefox
     
Статус темы:
Закрыта.