Информация

  • FastVps - Хостинг для форума
  • RegPartner - Домены по правильным ценам

"4admins.ru" Рекомендует

Отправка сообщений нажатием Ctrl+Enter. Продолжение

Список модификаций, которые вы можете установить себе на форумы.
  • Автор 
    Сообщение
Аватара пользователя
Сообщения: 125
Зарегистрирован: 15 ноя 2011, 19:19
Благодарил (а): 20
Поблагодарили: 23 раз в 18 сообщениях
Пол: Мужской
Адрес форума: http://help.4admins.ru/
бабло: 0
Баллы репутации: 9

Re: Отправка сообщений нажатием Ctrl+Enter

Сообщение Добавлено: 03 дек 2011, 18:13

это для тех, у кого сообщение через div стоит

Аватара пользователя
Сообщения: 1848
Зарегистрирован: 02 окт 2009, 10:19
Откуда: Украина
Благодарил (а): 68
Поблагодарили: 673 раз в 507 сообщениях
Город: Киев
Пол: Мужской
Адрес форума: 4admins.ru
бабло: 0
Баллы репутации: 82

Re: Отправка сообщений нажатием Ctrl+Enter

Сообщение Добавлено: 03 дек 2011, 18:16

Т.к. я не знаток JavaScript, специально проконсультировался по этому вопросу:
скобки точно не мешают в if, то есть их можно в данном примере и не ставить, но визуально отделяют, легче для понимания приоритетности операций.

Фигурные скобки после условия if - если бы там была не одна команда document.postform.post[0].click(), то да, фигурные скобки обязательны, так как надо было бы отделить, что те-то команды относятся к if, но тут одна - она так или иначе к if идет

Аватара пользователя
Сообщения: 125
Зарегистрирован: 15 ноя 2011, 19:19
Благодарил (а): 20
Поблагодарили: 23 раз в 18 сообщениях
Пол: Мужской
Адрес форума: http://help.4admins.ru/
бабло: 0
Баллы репутации: 9

Re: Отправка сообщений нажатием Ctrl+Enter

Сообщение Добавлено: 03 дек 2011, 18:31

Gold
у меня не идет как ни странно

Аватара пользователя
Сообщения: 702
Зарегистрирован: 24 июн 2010, 13:42
Благодарил (а): 130
Поблагодарили: 316 раз в 213 сообщениях
Город: Москва
Пол: Женский
Адрес форума: http://foxlodge.fatbb.ru
Баллы репутации: 39

Re: Отправка сообщений нажатием Ctrl+Enter

Сообщение Добавлено: 05 дек 2011, 01:13

vlad360 писал(а):Gold
у меня не идет как ни странно

Вообще или в варианте из первого поста темы?

Аватара пользователя
Сообщения: 125
Зарегистрирован: 15 ноя 2011, 19:19
Благодарил (а): 20
Поблагодарили: 23 раз в 18 сообщениях
Пол: Мужской
Адрес форума: http://help.4admins.ru/
бабло: 0
Баллы репутации: 9

Re: Отправка сообщений нажатием Ctrl+Enter

Сообщение Добавлено: 05 дек 2011, 15:48

Alice
в вариенте их первого и из любых постов в данной теме кроме своего который выложил.
Однако появился такой глюк иногда когда редактируешь свое сообщение исчезает весь bb код и вообще весь текст в некоторых сообщениях только так

Аватара пользователя
Сообщения: 7065
Зарегистрирован: 11 авг 2009, 16:58
Благодарил (а): 660
Поблагодарили: 2357 раз в 1754 сообщениях
Город: Москва
Пол: Мужской
Адрес форума: http://help.4admins.ru
Баллы репутации: 170

Re: Отправка сообщений нажатием Ctrl+Enter

Сообщение Добавлено: 05 дек 2011, 20:01

vlad360 писал(а):Однако появился такой глюк иногда когда редактируешь свое сообщение исчезает весь bb код и вообще весь текст в некоторых сообщениях только так

значит не правильно установлено
На этом сервисе можно cоздать форум бесплатно

Аватара пользователя
Сообщения: 702
Зарегистрирован: 24 июн 2010, 13:42
Благодарил (а): 130
Поблагодарили: 316 раз в 213 сообщениях
Город: Москва
Пол: Женский
Адрес форума: http://foxlodge.fatbb.ru
Баллы репутации: 39

Отправка сообщений нажатием Ctrl+Enter. Продолжение

Сообщение Добавлено: 29 фев 2016, 23:14

Лежит в архиве тема с аналогичным называнием: viewtopic.php?f=12&t=978
Написать в нее нельзя, закрыта.
А у меня дополнения возникли. Мне доводилось делать эту модификацию шаблонов на некоторых форумах. Ставила, как многие, не задумываясь, что написано в коде. Вроде, работало.
И тут в очередной раз потребовалось поставить это дополнение на один форум - а оно бац! И не работает в быстром ответе. Напрочь. Причем, в уже отработанном для меня стиле е-Теч, в котором я эту модификацию раза 3, наверно, делала в разных форумах.
Перечитала тему. Сто раз перепроверила, точно ли по инструкции все сделала. Все правильно, но не работает.
Тогда попробовала вариант, который предложил в той теме vlad360. Заработало.
Почитала, что писал Gold про ненужность фигурных скобок в варианте vlad360. Убрала фигурные скобки. Тоже работает.
Задумалась, а что вообще написано в коде у Gold в переводе на человеческий язык...
Код: Выделить всё
onKeyPress="if((event.keyCode==10)||((event.ctrlKey)&&(event.keyCode==13))) document.postform.post[0].click();"

Получается: "Если нажат шифт или если нажаты контрол и энтер, то отправить сообщение".
И тут я подумала. А зачем же проверять, нажат ли шифт, и вообще отправлять сообщение по нажатию шифт?
И к каким же глюкам приведет код, если на шифт, с помощью которого пользователь может выделять какие-то части сообщения при наборе, повесить еще и отправку сообщения?
И подумав так, я строчку, о которой дискутировали vlad360 и Gold, упростила до
Код: Выделить всё
onKeyPress="if(event.ctrlKey && event.keyCode==13) document.postform.post[0].click();"

То бишь в переводе на человеческий до: "Если нажат контрол и энтер, то отправить сообщение".
Итого, всё работает. :) В процессе тестирования. Пока ничего не глючит.


П.С. Слепите, пожалуйста, мое сообщение с первой темой про отправку сообщений нажатием Ctrl+Enter.
Уж пардон, я бы туда написала о своем варианте, да тема в архиве. :)

За это сообщение пользователя Alice поблагодарили:
anya

Аватара пользователя
Сообщения: 7065
Зарегистрирован: 11 авг 2009, 16:58
Благодарил (а): 660
Поблагодарили: 2357 раз в 1754 сообщениях
Город: Москва
Пол: Мужской
Адрес форума: http://help.4admins.ru
Баллы репутации: 170

Re: Отправка сообщений нажатием Ctrl+Enter. Продолжение

Сообщение Добавлено: 01 мар 2016, 01:22

перенес в модификации
На этом сервисе можно cоздать форум бесплатно

За это сообщение пользователя GoDFaTHeR поблагодарили:
Alice

Аватара пользователя
Сообщения: 702
Зарегистрирован: 24 июн 2010, 13:42
Благодарил (а): 130
Поблагодарили: 316 раз в 213 сообщениях
Город: Москва
Пол: Женский
Адрес форума: http://foxlodge.fatbb.ru
Баллы репутации: 39

Re: Отправка сообщений нажатием Ctrl+Enter. Продолжение

Сообщение Добавлено: 01 мар 2016, 01:32

П.С. Ай-я-яй! Нашла у себя ошибку, а предыдущее сообщение отредактировать уже не могу.
Неправильно перевела на человеческий слова :-[
Код: Выделить всё
event.keyCode==10

Это не шифт. :-[ 0х10 - шифт в 16-ном коде. http://umi-cms.spb.su/ref/javascript/251
А 10 - это энтер для Вебкит. https://bugs.dojotoolkit.org/ticket/12679
И правильный перевод строчки от Gold:
"Если нажат энтер (для вебкит) или если нажаты контрол и энтер, то отправить сообщение".
Ну, и всё равно получается бред для Вебкит... Ему же, выходит, не скомандовали, что для отправки сообщения еще и контрол нажат должен быть.
Значит, правильная запись условия будет:
Код: Выделить всё
if ((event.keyCode==13 || event.keyCode==10) && event.ctrlKey)

"Если нажат энтер (кей код которого 13 или 10 для вебкита) и контрол, то...".
А вот про "то" тоже интересно выходит. "То" для быстрого ответа и для обычного ответа должны быть разные.

Если вместо команды
Код: Выделить всё
document.postform.post[0].click();
написать что-нибудь типа:
Код: Выделить всё
alert('Нажаты контрол и энтер');

то и в форме обычного ответа, и в форме быстрого ответа после нажатия контрол + энтер выскочит соответствующее сообщение.
Т.е. код
Код: Выделить всё
onKeyPress ="if ((event.keyCode==13 || event.keyCode==10) && event.ctrlKey) alert('Нажаты контрол и энтер');"

отрабатывается нормально. А вот если вместо алерта поставить код
Код: Выделить всё
document.postform.post[0].click();
то форма быстрого ответа с ним дружить не желает. А если убрать прямое обращение к объекту через квадратные скобочки, то все работает.

То есть. Для обычного ответа (шаблон posting_body.html) у меня получился такой вариант спорной строчки:
Код: Выделить всё
onKeyPress="if ((event.keyCode==13 || event.keyCode==10) && event.ctrlKey) document.postform.post[0].click();"

А для быстрого ответа (шаблон quick_reply.html), такой:
Код: Выделить всё
onKeyPress="if((event.keyCode==13 || event.keyCode==10) && event.ctrlKey) document.postform.post.click();"


В таком варианте тоже всё работает. :)

Здесь поставила, можете проверить, что все ок: http://hockeyprim.80lvl.ru/index.php

За это сообщение пользователя Alice поблагодарили:
anya

Аватара пользователя
Сообщения: 511
Зарегистрирован: 27 авг 2010, 17:39
Благодарил (а): 476
Поблагодарили: 58 раз в 54 сообщениях
Пол: Женский
Адрес форума: http://transalternativa.ru/
Баллы репутации: 9

Re: Отправка сообщений нажатием Ctrl+Enter. Продолжение

Сообщение Добавлено: 19 мар 2016, 09:32

"Alice" писал(а):
Здесь поставила, можете проверить, что все ок: http://hockeyprim.80lvl.ru/index.php


Спасибо за разъяснение..... thumbs up


Вернуться в Модификации

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22