CtrlEnterPost

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
тру
phpBB 1.2.1
Сообщения: 20
Стаж: 15 лет 6 месяцев
Благодарил (а): 1 раз
Забанен: Бессрочно

Re: CtrlEnterPost

Сообщение тру »

О быстром ответе.
.........................
по второму посту:
quick_reply.html
Вообще такого файла нет (в phpbb3.0.8)
И строчек таких тоже нет (если взять файл quickreply_editor.html)
О какой версии речь идёт ?
Прикольно,это от версии к версии всё меняться что ли будет...
----
по второму посту на второй страничке:
CtrlEnterPost
Изменил ,нет эфекта.
----
Где-то тут был код для нормального ответа,он чётко работает.
Может прилепить уже решения в первый пост ?
Вы мне дороги,так же как и я вам.
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: CtrlEnterPost

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

тру, не совсем понял, что Вы понатыкали в свое сообщение. Посмотрите, какой шаблон БО включается в viewtopic_body.html кодом <!-- INCLUDE ... -->, его и правьте.
In Web We Trust
тру
phpBB 1.2.1
Сообщения: 20
Стаж: 15 лет 6 месяцев
Благодарил (а): 1 раз
Забанен: Бессрочно

Re: CtrlEnterPost

Сообщение тру »

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

<!-- INCLUDE quickreply_editor.html -->
вот мой файл этот:

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

<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>

	<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="46" 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>

<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="7" 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>
Вы мне дороги,так же как и я вам.
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: CtrlEnterPost

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

тру, ну и?..
Вы указали клавишам Ctrl и Enter выполнять действие клика по кнопке, при этом не указав к какой форме должно относится это действие.
Замените

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

<form method="post" action="{U_QR_ACTION}">
на

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

<form method="post" action="{U_QR_ACTION}" name="postform"{S_FORM_ENCTYPE}>
In Web We Trust
тру
phpBB 1.2.1
Сообщения: 20
Стаж: 15 лет 6 месяцев
Благодарил (а): 1 раз
Забанен: Бессрочно

Re: CtrlEnterPost

Сообщение тру »

Хм ,это очень странно ...
А это было в инструкциях ?
---
изменил,не срабатывает.
Может кто-нибудь закинет текст рабочего quickreply_editor.html?
раз у меня руки из другого места.
Буду признателен.

и ещё не хватает мозгов понять почему два раза всё там написано.
Это для двух форм ввода для заголовка поста и текста ?
Вы мне дороги,так же как и я вам.
тру
phpBB 1.2.1
Сообщения: 20
Стаж: 15 лет 6 месяцев
Благодарил (а): 1 раз
Забанен: Бессрочно

Re: CtrlEnterPost

Сообщение тру »

блин ну не пашет )))
вот мой файл:

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

<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>

	<form method="post" action="{U_QR_ACTION}" name="postform"{S_FORM_ENCTYPE}>
		<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="46" 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>

<form method="post" action="{U_QR_ACTION}" name="postform"{S_FORM_ENCTYPE}>
	<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="7" 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>
Вы мне дороги,так же как и я вам.
Аватара пользователя
Айдар
Former team member
Сообщения: 1687
Стаж: 15 лет 9 месяцев
Откуда: KZN
Благодарил (а): 93 раза
Поблагодарили: 189 раз

Re: CtrlEnterPost

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

тру, зачем Вы добавляете отсебятену?
Замените

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

{document.getElementById('postform').post.click();}
на:

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

{document.postform.post.click();}
In Web We Trust
тру
phpBB 1.2.1
Сообщения: 20
Стаж: 15 лет 6 месяцев
Благодарил (а): 1 раз
Забанен: Бессрочно

Re: CtrlEnterPost

Сообщение тру »

ой
это просто вариант был,выдраный из обычного ответа.
Так я тоже пробовал.
Тоже не срабатывает.

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

<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>

	<form method="post" action="{U_QR_ACTION}" name="postform"{S_FORM_ENCTYPE}>
		<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.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>

<form method="post" action="{U_QR_ACTION}" name="postform"{S_FORM_ENCTYPE}>
	<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.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>
				<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>
может быть дело в другом чём-то ?
Вы мне дороги,так же как и я вам.
тру
phpBB 1.2.1
Сообщения: 20
Стаж: 15 лет 6 месяцев
Благодарил (а): 1 раз
Забанен: Бессрочно

Re: CtrlEnterPost

Сообщение тру »

или ссылку киньте на форум у которого есть эта возможность.
Вы мне дороги,так же как и я вам.
тру
phpBB 1.2.1
Сообщения: 20
Стаж: 15 лет 6 месяцев
Благодарил (а): 1 раз
Забанен: Бессрочно

Re: CtrlEnterPost

Сообщение тру »

при анализе странички одного из сайтов с этой функцией было выявлено отличие от приведёного тут описания.
а именно кусок:

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

 onKeyPress = "if (event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {document.postform.post.click();}"
Всего один раз прописан в отличии от описания в этой ветке.

вот часть файла:

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

</script>
		<script type="text/javascript" src="./styles/subsilver2/template/editor.js"></script>


	</td>
</tr>
<!--  -->

					<tr>
						<td valign="top" style="width: 100%;"><textarea name="message" rows="8" cols="76" tabindex="3" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onfocus="initInsertions();" style="width: 98%;" onKeyPress = "if (event.keyCode==10 || (event.ctrlKey && event.keyCode==13)) {document.postform.post.click();}" ></textarea>

<BR /><span style="color: #ff0000;">Осталось знаков:&nbsp;<span id="charsLeft"></span></span>

</td>
						
					</tr>
				</table>
			</td>
		</tr>
Добавлено спустя 6 минут 24 секунды:
и это работает )))
хоть и не соответствует описанию.

А мой согласно описанию не пашет

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

// ]]>
</script>

	<form method="post" action="./posting.php?mode=reply&f=53&t=40" name="postform">
		<div class="panel" id="qr_ns_editor_div">
			<div class="inner"><span class="corners-top"><span></span></span>
					<h2>Быстрый ответ</h2>
					<fieldset class="fields1">
						<dl style="clear: left;">
							<dt><label for="subject">Заголовок:</label></dt>

							<dd><input type="text" name="subject" id="subject-ns" size="45" maxlength="64" tabindex="2" value="Re: жора" 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.postform.post.click();}"></textarea>
						
					</div>
									<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.postform.post.click();}"></textarea>
				</div>
				
Последний раз редактировалось Айдар 27.03.2011 12:10, всего редактировалось 1 раз.
Причина: Не нужно только ради примера приводить так много кода. Правило 3.10.
Вы мне дороги,так же как и я вам.
Alex1204
phpBB 1.4.4
Сообщения: 111
Стаж: 20 лет 6 месяцев
Благодарил (а): 12 раз
Поблагодарили: 2 раза

Re: CtrlEnterPost

Сообщение Alex1204 »

Для файла quickreply_editor.html использовал эту инструкцию:
CtrlEnterPost

Для файла posting_editor.html использовал эту инструкцию:
CtrlEnterPost

На форуме все работает, а вот при ответе в личных сообщениях вместо отправки срабатывает предпросмотр сообщения.
Sergiocharm
phpBB 2.0.7
Сообщения: 593
Стаж: 16 лет
Благодарил (а): 57 раз
Поблагодарили: 5 раз

Re: CtrlEnterPost

Сообщение Sergiocharm »

Айдар спасибо за инструкцию в БО сделал отправку благодаря вам
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: CtrlEnterPost

Сообщение Garret_Dark »

Давно хотел прикрутить такую фишку у себя на форуме, сначала попробовал сам, присвоил id к необходимому сабмиту (Чтобы избежать ошибки когда выдает предпросмотр и т.п. кнопок).
Потом попробовал код из этой темы.

Оба работают, но, по крайней мере в последней опере все это дело передается в новую вкладку, т.е. страница с написанием поста остается открытой во вкладке, а само сообщение отправляется в открывшейся новой вкладке.

Никто с таким не сталкивался? Как бы полечить?..

Добавлено спустя 1 минуту 37 секунд:
Вот и здесь, на гуру также само происходит, хотя вроде раньше работало как надо... Может можно както прямо прописать, чтобы форма отправлялась в текущей вкладке?
deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 15 лет 4 месяца
Благодарил (а): 28 раз
Поблагодарили: 41 раз
Забанен: Бессрочно

Re: CtrlEnterPost

Сообщение deadromeo »

И у меня возникла такая же проблема как у Garret_Dark. Может есть какое решение?
------- UPD
такой глюк наблюдается в опере, может изза того что связка CTRL+ENTER задействована в других операциях, потому как в хроме работает отлично все :oops:
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 6 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1454 раза

Re: CtrlEnterPost

Сообщение Nekstati »

Решение такое.

Добавить в overall_footer.html перед закрывающим тэгом </body>:

если используется jQuery

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

<!-- IF S_POST_ACTION or S_QUICK_REPLY -->
<script type="text/javascript">
	$('#postform textarea').keypress(function(event) {
		if ($(this).attr('name') == 'message' && (event.keyCode == 10 || (event.ctrlKey && event.keyCode == 13))) {
			$('<input type="hidden" name="post" />').appendTo($('#postform'));
			$('#postform').submit();
		}
	});

	$('input[name="post"]').attr('title', 'Ctrl+Enter');
</script>
<!-- ENDIF -->
если используется Mootools 1.1

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

<!-- IF S_POST_ACTION or S_QUICK_REPLY -->
<script type="text/javascript">
	$$('#postform textarea').addEvent('keypress', function(event) {
		if ($(this).name == 'message' && (event.keyCode == 10 || (event.ctrlKey && event.keyCode == 13))) {
			new Element('input').setProperties({'type': 'hidden', 'name': 'post'}).injectAfter($(this));
			$('postform').submit();
		}
	});

	$$('input[name="post"]').setProperty('title', 'Ctrl+Enter');
</script>
<!-- ENDIF -->
Применяется к быстрому ответу, полному ответу, написанию ЛС.


Дополнительно для быстрого ответа: найти в quickreply_editor.html

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

<form method="post" action="{U_QR_ACTION}">
Заменить на

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

<form id="postform" method="post" action="{U_QR_ACTION}">
Эта правка не нужна, если у вас уже установлена доработка БО авторства Raydenа.


Дополнительно для Субсильвера: найти в posting_body.html и ucp_header.html

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

<form action="{S_POST_ACTION}" method="post" name="postform"{S_FORM_ENCTYPE}>
и добавить атрибут id="postform":

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

<form action="{S_POST_ACTION}" method="post" id="postform" name="postform"{S_FORM_ENCTYPE}>

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