CtrlEnterPost

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Maksim90
phpBB 1.4.2
Сообщения: 65
Стаж: 18 лет 4 месяца
Благодарил (а): 4 раза
Поблагодарили: 4 раза

Re: CtrlEnterPost

Сообщение Maksim90 »

Здравствуйте. Подскажите, пожалуйста, как в стандартный быстрый ответ можно добавить возможность отправки сообщения комбинацией "CTRL+ENTER"?

В основной форме ответа отправка сообщения комбинацией "CTRL+ENTER" делалась вот так:

Код: Выделить всё

    #
    #-----[ OPEN ]------------------------------------------
    #
    template\posting_editor.html

    #
    #-----[ FIND ]------------------------------------------
    #
          <textarea <!-- IF S_UCP_ACTION and not S_PRIVMSGS and not S_EDIT_DRAFT -->name="signature"

    #
    #-----[ IN-LINE FIND ]------------------------------------------
    #
          class="inputbox">{MESSAGE}{DRAFT_MESSAGE}{SIGNATURE}</textarea>
       
    #
    #-----[ IN-LINE REPLACE WITH]------------------------------------------
    #
          class="inputbox" onKeyPress = "if (event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {document.getElementById('postform').post.click();}">{MESSAGE}{DRAFT_MESSAGE}{SIGNATURE}</textarea>

    #
    #-----[ FIND ]------------------------------------------
    #
          <input type="submit" accesskey="s" tabindex="6" name="post"

    #
    #-----[ IN-LINE FIND ]------------------------------------------
    #
          <input type="submit"

    #
    #-----[ IN-LINE REPLACE WITH ]------------------------------------------
    #
          <input title="Ctrl+Enter" type="submit"
Gisher
phpBB 2.0.12
Сообщения: 857
Стаж: 19 лет 11 месяцев
Благодарил (а): 11 раз
Поблагодарили: 13 раз

Re: CtrlEnterPost

Сообщение Gisher »

откройте quickreply_editor.html
найти

Код: Выделить всё

class="inputbox"></textarea>
заменить

Код: Выделить всё

class="inputbox" onKeyPress = "if (event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {document.getElementById('postform').post.click();}"></textarea>
найти

Код: Выделить всё

<input type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" class="button1" />
заменить

Код: Выделить всё

<input title="Ctrl+Enter" type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" class="button1" />
Выше написанные изменения делать в 2 местах
banditkr
phpBB 1.4.0
Сообщения: 30
Стаж: 19 лет
Благодарил (а): 2 раза

Re: CtrlEnterPost

Сообщение banditkr »

Предыдущее мое сообщение удалили, не поняв наверное друг друга. Не работает в быстром ответе отправка по "Ctrl+Enter" если сделать вышеописанные действия, а работает только в сочетании клавишь "TAB'a+Enter".
Сделал все как выше описано, сделал изменения в двух местах и не работает в быстром ответе.
Вот измененный код:

Код: Выделить всё

<script type="text/javascript">
// <![CDATA[
	function hide_qr(show)
	{
		dE('qr_editor_div');
		dE('qr_showeditor_div');
		if (show && document.getElementById('qr_editor_div').style.display != 'none')
		{
			document.getElementsByName('message')[0].focus();
		}
		return true;
	}


	function init_qr()
	{
		dE('qr_showeditor_div');
		return true;
	}
	onload_functions.push('init_qr();');
	// ]]>
</script>
<noscript>
	<form method="post" action="{U_QR_ACTION}">
		<div class="panel" id="qr_ns_editor_div">
			<div class="inner"><span class="corners-top"><span></span></span>
					<h2>{L_QUICKREPLY}</h2>
					<fieldset class="fields1">
						<dl style="clear: left;">
							<dt><label for="subject">{L_SUBJECT}:</label></dt>
							<dd><input type="text" name="subject" id="subject-ns" size="45" maxlength="64" tabindex="2" value="{SUBJECT}" class="inputbox autowidth" /></dd>
						</dl>
					<div id="message-box-ns">
						<textarea style="height: 9em;" name="message" rows="7" cols="76" tabindex="3" class="inputbox" onKeyPress = "if (event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {document.getElementById('postform').post.click();}"></textarea>
					</div>
					</fieldset>
					<fieldset class="submit-buttons">
						{S_FORM_TOKEN}
						{QR_HIDDEN_FIELDS}
						<input title="Ctrl+Enter" type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" class="button1" />&nbsp;
						<input type="submit" accesskey="f" tabindex="7" name="full_editor" value="{L_FULL_EDITOR}" class="button2" />&nbsp;
					</fieldset>
			<span class="corners-bottom"><span></span></span></div>
		</div>
	</form>
</noscript>
<form method="post" action="{U_QR_ACTION}">
	<div class="panel" style="display: none" id="qr_editor_div">
		<div class="inner"><span class="corners-top"><span></span></span>
				<h2>{L_QUICKREPLY}</h2>
				<fieldset class="fields1">
					<dl style="clear: left;">
						<dt><label for="subject">{L_SUBJECT}:</label></dt>
						<dd><input type="text" name="subject" id="subject" size="45" maxlength="64" tabindex="2" value="{SUBJECT}" class="inputbox autowidth" /></dd>
					</dl>
				<div id="message-box">
					      <textarea style="height: 9em;" name="message" rows="7" cols="76" tabindex="3" class="inputbox" onKeyPress = "if (event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {document.getElementById('postform').post.click();}"></textarea>
				</div>
				</fieldset>
				<fieldset class="submit-buttons">
					{S_FORM_TOKEN}
					{QR_HIDDEN_FIELDS}
					<input title="Ctrl+Enter" type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" class="button1" />&nbsp;
					<input type="submit" accesskey="f" tabindex="6" name="full_editor" value="{L_FULL_EDITOR}" class="button2" />&nbsp;
				</fieldset>
				<a href="" class="right-box up" onclick="hide_qr(false); return false;" title="{L_COLLAPSE_QR}">{L_COLLAPSE_QR}</a>
		<span class="corners-bottom"><span></span></span></div>
	</div>
	<div class="panel" style="display: none" id="qr_showeditor_div" >
		<div class="inner"><span class="corners-top"><span></span></span>

			<div class="content">
				<fieldset class="submit-buttons">
					<input type="submit" name="show_qr" tabindex="1" class="button2" value="{L_SHOW_QR}" onclick="hide_qr(true);return false;"/>
				</fieldset>
			</div>
		<span class="corners-bottom"><span></span></span></div>
	</div>
</form>
banditkr
phpBB 1.4.0
Сообщения: 30
Стаж: 19 лет
Благодарил (а): 2 раза

Re: CtrlEnterPost

Сообщение banditkr »

Теперь все нормально, установил доработку встроенного быстрого ответа и заработало. Спасибо за помощь.
ONIKS
phpBB 1.2.0
Сообщения: 11
Стаж: 16 лет 1 месяц
Благодарил (а): 2 раза

Re: CtrlEnterPost

Сообщение ONIKS »

Rum писал(а):трижды всё проверил (
в просилвере работает на ура
в сабсилвере2 нехочет работать (
ошибок никаких не выводит, на кнопке отправить выводится подсказка "Ctrl+Enter"
kuzay писал(а):С сабсильвером решили чегонибудь? У меня не работает. В просилвере замечательно!
И у меня
и у меня та же самая песня :(((

Добавлено спустя 13 минут 35 секунд:
Причем и на абсолютно чистом стиле subsilver2 - то же.
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: CtrlEnterPost

Сообщение Айдар »

как заставить это работать в основной форме ответа? Попробуйте так, у меня работает
А не подскажете, в subsilver за основную форму ответа какой шаблон отвечает?
Пересерчил все шаблоны со словом "posting" по поисковому слову "textarea" - нашел только в posting_body.html, там изменил все по инструкции (точнее нашел фрагмент <textarea ...> и атрибутом добавил скрипт, также поставил тайтл, но в форме ответа изменений не произошло: ни ctrl+enter не работает, ни на кнопке "отправить" не подсвечивается тайтл.
In Web We Trust
Akuji
phpBB 1.0.0
Сообщения: 8
Стаж: 16 лет 8 месяцев
Благодарил (а): 3 раза

Re: CtrlEnterPost

Сообщение Akuji »

Может быть кто знает как реализовать использование bb-кодов с помощью комбинации: Ctrl+B, Ctrl+i, Ctrl+U в БО и в полном редакторе.
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: CtrlEnterPost

Сообщение Айдар »

Akuji, это мод, но было бы неплохо!
In Web We Trust
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: CtrlEnterPost

Сообщение Айдар »

ONIKS
Если еще актуально, то Вы, видимо не устанавливали мод QR, а поставили "доработку БО" от Rayden.
Просто дополнительно в тег <form...> добавьте атрибут name="postform":

В quickreply_editor.html
Найти:

Код: Выделить всё

<form id="postform" method="post" action="{U_QR_ACTION}">
Найти в строке:

Код: Выделить всё

<form id="postform" 
Добавить в строку после:

Код: Выделить всё

 name="postform"
P.S. Причем странно, что в форме стандартного ответа posting_body.html (subsilver) такая комбинация все равно не работает, выдавая ошибку яваскрипт. Хотя в теге <form...> задано:

Код: Выделить всё

name="postform"
, а в теге <input class="btnmain":

Код: Выделить всё

name="post"
Думал, здесь может возникать проблема только в том, что функция

Код: Выделить всё

{document.postform.post.click();}
не может получить соответствующие данные имен элементов формы. Видимо, есть что-то еще...
In Web We Trust
Аватара пользователя
Vova_OB
phpBB 2.0.2
Сообщения: 310
Стаж: 16 лет 3 месяца
Откуда: Kiev Ukraine
Благодарил (а): 74 раза
Поблагодарили: 8 раз

Re: CtrlEnterPost

Сообщение Vova_OB »

DOMINATOR писал(а):Вот для subsilver2.

Код: Выделить всё

# 
#-----[ OPEN ]------------------------------------------ 
# 
styles/subsilver2/template/quick_reply.html


# 
#-----[ FIND ]------------------------------------------ 
# 
      <textarea

# 
#-----[ IN-LINE FIND ]------------------------------------------ 
# 
      >{MESSAGE}</textarea>
    
# 
#-----[ IN-LINE BEFORE ADD]------------------------------------------ 
# Don't forget to leave a blank(space) ahead
      onKeyPress = "if (event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {document.postform.post.click();}" 


# 
#-----[ FIND ]------------------------------------------ 
# 
	&nbsp; <input class="btnmain" type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" />

# 
#-----[ IN-LINE FIND ]------------------------------------------ 
# 
	<input class="btnmain" type="submit"

# 
#-----[ IN-LINE REPLACE WITH ]------------------------------------------ 
# 
      <input class="btnmain" title="Ctrl+Enter" type="submit"
чтото этот коде не фуричит на phpbb3 subsilver2, ни в posting_body.html ни quike_reple.html

Вся замороч в том чтобы добавить токо следующий код в тег <textarea>(открывающий), после очистки кеша ничего не происходит, при нажатии ctrl+enter - фаерфокс мозила последняя

onKeyPress = "if (event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {document.postform.post.click();}"

Кто то подскажет в чем дело - какой код вставить чтобы сообщение отправлялось методом ctrl+enter ?
буду благодарен
спасибо)
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: CtrlEnterPost

Сообщение Айдар »

Vova_OB
Стоит мод быстрый ответ или доработка встроенного?
Проверь наличие атрибутов postform и post в соответствующих тегах.
P.S. Другие яваскрипты не воспринимаются ИЕ, я так понял...
In Web We Trust
Аватара пользователя
Vova_OB
phpBB 2.0.2
Сообщения: 310
Стаж: 16 лет 3 месяца
Откуда: Kiev Ukraine
Благодарил (а): 74 раза
Поблагодарили: 8 раз

Re: CtrlEnterPost

Сообщение Vova_OB »

Его нет, хочу поставить
в posting_body.html и быстры ответ

post
стоит в этом коде:
<input class="btnmain" type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" />

а
postform упоминается в коде ниже
<script type="text/javascript">
// <![CDATA[
var form_name = 'postform';
var text_name = 'message';
// ]]>
</script>

а сам тексареа
<textarea name="message" rows="15" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" style="width: 98%;">{MESSAGE}</textarea>
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: CtrlEnterPost

Сообщение Айдар »

Попробуйте выполнить эту инструкцию?
У меня именно после нее заработало в стандартном БО в шаблоне quickreply_editor.html
И еще, postform вроде как должен выполняться после упоминания name="postform"
In Web We Trust
Аватара пользователя
Vova_OB
phpBB 2.0.2
Сообщения: 310
Стаж: 16 лет 3 месяца
Откуда: Kiev Ukraine
Благодарил (а): 74 раза
Поблагодарили: 8 раз

Re: CtrlEnterPost

Сообщение Vova_OB »

Спасибо в быстром ответе работает - ваша инструкция http://www.phpbbguru.net/community/topi ... ml#p307825помогла!
а в posting_body.html пока нет, сейчас буду делать.
Последний раз редактировалось Vova_OB 18.01.2011 21:29, всего редактировалось 1 раз.
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: CtrlEnterPost

Сообщение Айдар »

Vova_OB писал(а):а в posting_body.html пока нет, сейчас буду делать.
Если сможете, дайте знать, а то в том же посте, откуда выполняли инструкцию, написано, что у меня не сработало.
In Web We Trust

Вернуться в «Запросы модов для phpBB 3.0.x»