Пропустить

CtrlEnterPost

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Re: CtrlEnterPost

Сообщение тру » 23.03.2011 15:22

О быстром ответе.
.........................
по второму посту:
quick_reply.html
Вообще такого файла нет (в phpbb3.0.8)
И строчек таких тоже нет (если взять файл quickreply_editor.html)
О какой версии речь идёт ?
Прикольно,это от версии к версии всё меняться что ли будет...
----
по второму посту на второй страничке:
CtrlEnterPost
Изменил ,нет эфекта.
----
Где-то тут был код для нормального ответа,он чётко работает.
Может прилепить уже решения в первый пост ?
Вы мне дороги,так же как и я вам.

тру
phpBB 1.2.1
 
Сообщения: 20
Зарегистрирован: 23.03.2011 13:27
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Предупреждения: 1

Re: CtrlEnterPost

Сообщение Айдар » 23.03.2011 17:06

тру, не совсем понял, что Вы понатыкали в свое сообщение. Посмотрите, какой шаблон БО включается в viewtopic_body.html кодом <!-- INCLUDE ... -->, его и правьте.
In Web We Trust
Аватара пользователя
Айдар
Модератор
Модератор
 
Сообщения: 1846
Зарегистрирован: 14.12.2010 17:15
Откуда: KZN
Благодарил (а): 115 раз.
Поблагодарили: 195 раз.

Re: CtrlEnterPost

Сообщение тру » 23.03.2011 18:26

<!-- 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>
Вы мне дороги,так же как и я вам.

тру
phpBB 1.2.1
 
Сообщения: 20
Зарегистрирован: 23.03.2011 13:27
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Предупреждения: 1

Re: CtrlEnterPost

Сообщение Айдар » 23.03.2011 22:23

тру, ну и?..
Вы указали клавишам 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
Аватара пользователя
Айдар
Модератор
Модератор
 
Сообщения: 1846
Зарегистрирован: 14.12.2010 17:15
Откуда: KZN
Благодарил (а): 115 раз.
Поблагодарили: 195 раз.

Re: CtrlEnterPost

Сообщение тру » 24.03.2011 1:03

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

и ещё не хватает мозгов понять почему два раза всё там написано.
Это для двух форм ввода для заголовка поста и текста ?
Вы мне дороги,так же как и я вам.

тру
phpBB 1.2.1
 
Сообщения: 20
Зарегистрирован: 23.03.2011 13:27
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Предупреждения: 1

Re: CtrlEnterPost

Сообщение тру » 24.03.2011 16:13

блин ну не пашет )))
вот мой файл:
<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>
Вы мне дороги,так же как и я вам.

тру
phpBB 1.2.1
 
Сообщения: 20
Зарегистрирован: 23.03.2011 13:27
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Предупреждения: 1

Re: CtrlEnterPost

Сообщение Айдар » 24.03.2011 16:39

тру, зачем Вы добавляете отсебятену?
Замените
{document.getElementById('postform').post.click();}

на:
{document.postform.post.click();}
In Web We Trust
Аватара пользователя
Айдар
Модератор
Модератор
 
Сообщения: 1846
Зарегистрирован: 14.12.2010 17:15
Откуда: KZN
Благодарил (а): 115 раз.
Поблагодарили: 195 раз.

Re: CtrlEnterPost

Сообщение тру » 24.03.2011 18:08

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

<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
Зарегистрирован: 23.03.2011 13:27
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Предупреждения: 1

Re: CtrlEnterPost

Сообщение тру » 25.03.2011 9:25

или ссылку киньте на форум у которого есть эта возможность.
Вы мне дороги,так же как и я вам.

тру
phpBB 1.2.1
 
Сообщения: 20
Зарегистрирован: 23.03.2011 13:27
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Предупреждения: 1

Re: CtrlEnterPost

Сообщение тру » 27.03.2011 15:54

при анализе странички одного из сайтов с этой функцией было выявлено отличие от приведёного тут описания.
а именно кусок:
 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&amp;f=53&amp;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 16:10, всего редактировалось 1 раз.
Причина: Не нужно только ради примера приводить так много кода. Правило 3.10.
Вы мне дороги,так же как и я вам.

тру
phpBB 1.2.1
 
Сообщения: 20
Зарегистрирован: 23.03.2011 13:27
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Предупреждения: 1

Re: CtrlEnterPost

Сообщение Alex1204 » 22.04.2011 12:03

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

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

На форуме все работает, а вот при ответе в личных сообщениях вместо отправки срабатывает предпросмотр сообщения.

Alex1204
phpBB 1.4.4
 
Сообщения: 82
Зарегистрирован: 28.02.2006 22:50
Благодарил (а): 9 раз.
Поблагодарили: 0 раз.

Re: CtrlEnterPost

Сообщение Sergiocharm » 06.09.2011 10:59

Айдар спасибо за инструкцию в БО сделал отправку благодаря вам
Изображение

Sergiocharm
phpBB 2.0.4
 
Сообщения: 208
Зарегистрирован: 18.09.2010 16:03
Благодарил (а): 15 раз.
Поблагодарили: 1 раз.

Re: CtrlEnterPost

Сообщение Garret_Dark » 20.02.2012 22:37

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

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

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

Добавлено спустя 1 минуту 37 секунд:
Вот и здесь, на гуру также само происходит, хотя вроде раньше работало как надо... Может можно както прямо прописать, чтобы форма отправлялась в текущей вкладке?
Аватара пользователя
Garret_Dark
phpBB 2.0.22
 
Сообщения: 750
Зарегистрирован: 11.01.2009 16:18
Благодарил (а): 91 раз.
Поблагодарили: 77 раз.

Re: CtrlEnterPost

Сообщение deadromeo » 24.04.2012 20:13

И у меня возникла такая же проблема как у Garret_Dark. Может есть какое решение?
------- UPD
такой глюк наблюдается в опере, может изза того что связка CTRL+ENTER задействована в других операциях, потому как в хроме работает отлично все :oops:

deadromeo
phpBB 1.4.4
 
Сообщения: 97
Зарегистрирован: 08.05.2011 19:41
Благодарил (а): 16 раз.
Поблагодарили: 5 раз.

Re: CtrlEnterPost

Сообщение Nekstati » 24.04.2012 21:41

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

В quick_reply.html ничего не добавлять. Добавить в 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 -->


Применяется к быстрому ответу, полному ответу, написанию ЛС.
За это сообщение автора Nekstati поблагодарил:
deadromeo (25.04.2012 1:35)
Аватара пользователя
Nekstati
Лидер поддержки
Лидер поддержки
 
Сообщения: 2567
Зарегистрирован: 19.03.2009 18:43
Благодарил (а): 9 раз.
Поблагодарили: 770 раз.

Пред.

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

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

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

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы
cron