Перейти к контенту

[2.3.x]Отправка поста по CTRL+Enter


2man

Рекомендуемые сообщения

Название: Отправка поста по CTRL+Enter

Добавил: 2man

Добавлен: 19 Апр 2006

Обновлен: 21 Янв 2008

Категория: IP.Board 2.3.x

 

Отправка поста по Ctrl+Enter.

 

Очень простой в установке мод, но очень полезный :)

Поддержка и адаптация под ваш форум осуществляется здесь: http://forum.vingrad.ru/index.php?showforum=177

 

Нажмите здесь, чтобы скачать файл

Ссылка на комментарий
Поделиться на других сайтах

Мод давно хотел :)

Только у меня в 2.0 нету такого

<textarea onmouseover='checkselection()' id='fastreplyarea' cols="70" rows="8" name="Post" class="textarea" tabindex="1"></textarea>

 

Хотя у меня и без добавления этох строк все работает)

У меня,правда, стоит расширенный ответ от lexx...

Вот мой код :)

<script type="text/javascript">
<!--

	document.onkeydown=function(e){
if (e) event=e
if ((event.keyCode==13)&&(event.ctrlKey)){
 document.REPLIER.submit.click();
}}
var MessageMax	= "{ipb.lang['the_max_length']}";
var Override	  = "{ipb.lang['override']}";
var dontpassgo	= 0;
MessageMax		= parseInt(MessageMax);
if ( MessageMax < 0 ){
MessageMax = 0;
}

function emo_pop(){
window.open("index.{ipb.vars['php_ext']}?act=legends&CODE=emoticons&s={ipb.session_id}","Legends","width=250,height=500,resizable=yes,scrollbars=yes"); 
}

function bbc_pop(){
window.open("index.{ipb.vars['php_ext']}?act=legends&CODE=bbcode&s={ipb.session_id}","Legends","width=700,height=500,resizable=yes,scrollbars=yes"); 
}

function attach_pop(url){
window.open("{$ibforums->js_base_url}act=Post&CODE=20&"+url,"Attachments","width=500,height=400,resizable=yes,scrollbars=yes"); 
} 

function CheckLength(){
MessageLength  = document.REPLIER.Post.value.length;
message  = "";
 if (MessageMax > 0){
  message = "{ipb.lang['js_post']}: {ipb.lang['js_max_length']} " + MessageMax + " {ipb.lang['js_characters']}.";
 }
 else{
  message = "";
  }
alert(message + "	  {ipb.lang['js_used']} " + MessageLength + " {ipb.lang['js_characters']}.");
}

function ValidateForm(isMsg){
MessageLength  = document.REPLIER.Post.value.length;
errors = "";

// Check for remove attachments
 if ( document.REPLIER.removeattachid.value > 0 ){
  okdelete = confirm("{ipb.lang['remove_attach']}");

  if ( okdelete == true ){
return true;
  }
  else{
document.REPLIER.removeattachid.value = 0;
return false;
  }
 }

 if (isMsg == 1){
  if (document.REPLIER.msg_title.value.length < 2){
errors = "{ipb.lang['msg_no_title']}";
  }
 }

 if (MessageLength < 2){
  errors = "{ipb.lang['js_no_message']}";
 }

 if (MessageMax !=0){
  if (MessageLength > MessageMax){
 errors = "{ipb.lang['js_max_length']} " + MessageMax + " {ipb.lang['js_characters']}. {ipb.lang['js_current']}: " + MessageLength;
  }
 }

 if (errors != "" && Override == ""){
  alert(errors);
  return false;
 }

 else{
  document.REPLIER.submit.disabled = true;
  return true;
 }
}

function removeattach(id){
if ( id != "" ){
 var Override = 1;
 document.REPLIER.removeattachid.value = id;
}
}

// IBC Code stuff
var text_enter_url	  = "{ipb.lang['jscode_text_enter_url']}";
var text_enter_url_name = "{ipb.lang['jscode_text_enter_url_name']}";
var text_enter_image	= "{ipb.lang['jscode_text_enter_image']}";
var text_enter_email	= "{ipb.lang['jscode_text_enter_email']}";
var text_enter_flash	= "{ipb.lang['jscode_text_enter_flash']}";
var text_code		   = "{ipb.lang['jscode_text_code']}";
var text_quote		  = "{ipb.lang['jscode_text_quote']}";
var error_no_url		= "{ipb.lang['jscode_error_no_url']}";
var error_no_title	  = "{ipb.lang['jscode_error_no_title']}";
var error_no_email	  = "{ipb.lang['jscode_error_no_email']}";
var error_no_width	  = "{ipb.lang['jscode_error_no_width']}";
var error_no_height	 = "{ipb.lang['jscode_error_no_height']}";
var prompt_start		= "{ipb.lang['js_text_to_format']}";
var help_bold		   = "{ipb.lang['hb_bold']}";
var help_italic		 = "{ipb.lang['hb_italic']}";
var help_under		  = "{ipb.lang['hb_under']}";
var help_hide		   = "{ipb.lang['hb_hide']}";
var help_font		   = "{ipb.lang['hb_font']}";
var help_size		   = "{ipb.lang['hb_size']}";
var help_color		  = "{ipb.lang['hb_color']}";
var help_close		  = "{ipb.lang['hb_close']}";
var help_url			= "{ipb.lang['hb_url']}";
var help_img			= "{ipb.lang['hb_img']}";
var help_email		  = "{ipb.lang['hb_email']}";
var help_quote		  = "{ipb.lang['hb_quote']}";
var help_list		   = "{ipb.lang['hb_list']}";
var help_code		   = "{ipb.lang['hb_code']}";
var help_click_close	= "{ipb.lang['hb_click_close']}";
var list_prompt		 = "{ipb.lang['js_tag_list']}";
-->
-->
</script>
<div id="qr_open" style="display: $show; position: relative;">
<br />
<form name="REPLIER" action="{ipb.script_url}" method="post">
<input type="hidden" name="act" value="Post" />
<input type="hidden" name="CODE" value="03" />
<input type="hidden" name="f" value="$fid" />
<input type="hidden" name="t" value="$tid" />
<input type="hidden" name="st" value="{ipb.input['st']}" />
<input type="hidden" name="enabletrack" value="{ipb.member['auto_track']}" />
<input type="hidden" name="auth_key" value="$key" />
<!-- TITLE DIV -->
<div class="borderwrap">
<div class="maintitle"><{CAT_IMG}> {ipb.lang['qr_title']}</div>
<div style='padding:6px' align="center">
 <table cellspacing="0">
   <!-- REG NAME -->
   <!--TOPIC TITLE-->
   <!--TOPIC PASSWORD-->
   <!--POLL BOX-->
<td width="207" class="pformleft">
 <div align="left">
<input type="radio" name="bbmode" value="ezmode" onclick="setmode(this.value)" />
<b>Расширенный</b><br />
   <input type="radio" name="bbmode" value="normal" onclick="setmode(this.value)" checked="checked" />
<b>Нормальный 
   <script type="text/javascript" src="jscripts/ipb_bbcode.js"></script>
  </b></div></td>
 <td width="876" valign="top" class="pformright">
   <div align="left">
	 <input type="button" accesskey="b" value=" B " onclick="simpletag('B')" class="codebuttons" name="B" style="font-weight: bold;" onmouseover="hstat('bold')" />
	 <input type="button" accesskey="i" value=" I " onclick="simpletag('I')" class="codebuttons" name="I" style="font-style: italic;" onmouseover="hstat('italic')" />
	 <input type="button" accesskey="u" value=" U " onclick="simpletag('U')" class="codebuttons" name="U" style="text-decoration: underline;" onmouseover="hstat('under')" />
	 <select name="ffont" class="codebuttons" onchange="alterfont(this.options[this.selectedIndex].value, 'FONT')"  onmouseover="hstat('font')">
		 <option value="0">{ipb.lang['ct_font']}</option>
		 <option value="Arial" style="font-family: Arial;">{ipb.lang['ct_arial']}</option>
		 <option value="Times" style="font-family: Times;">{ipb.lang['ct_times']}</option>
		 <option value="Courier" style="font-family: Courier;">{ipb.lang['ct_courier']}</option>
		 <option value="Impact" style="font-family: Impact;">{ipb.lang['ct_impact']}</option>
		 <option value="Geneva" style="font-family: Geneva;">{ipb.lang['ct_geneva']}</option>
		 <option value="Optima" style="font-family: Optima;">Optima</option>
		 <option value="Georgia" style="font-family: Georgia;">Georgia</option>
		 <option value="Tahoma" style="font-family: Tahoma;">Tahoma</option>
		 <option value="Verdana" style="font-family: Verdana;">Verdana</option>
	 </select>
	 <select name="fsize" class="codebuttons" onchange="alterfont(this.options[this.selectedIndex].value, 'SIZE')" onmouseover="hstat('size')">
		 <option value="0">{ipb.lang['ct_size']}</option>
		 <option value="1">{ipb.lang['ct_sml']}</option>
		 <option value="7">{ipb.lang['ct_lrg']}</option>
		 <option value="14">{ipb.lang['ct_lest']}</option>
	 </select>
	 <select name="fcolor" class="codebuttons" onchange="alterfont(this.options[this.selectedIndex].value, 'COLOR')" onmouseover="hstat('color')">
		 <option value="0">{ipb.lang['ct_color']}</option>
		 <option value="blue" style="color: blue;">{ipb.lang['ct_blue']}</option>
		 <option value="red" style="color: red;">{ipb.lang['ct_red']}</option>
		 <option value="purple" style="color: purple;">{ipb.lang['ct_purple']}</option>
		 <option value="orange" style="color: orange;">{ipb.lang['ct_orange']}</option>
		 <option value="yellow" style="color: yellow;">{ipb.lang['ct_yellow']}</option>
		 <option value="gray" style="color: gray;">{ipb.lang['ct_grey']}</option>
		 <option value="green" style="color: green;">{ipb.lang['ct_green']}</option>
		 <option value="BlueViolet" style="color: BlueViolet;">BlueViolet</option>
		 <option value="Brown" style="color: Brown;">Brown</option>
		 <option value="BurlyWood" style="color: BurlyWood;">BurlyWood</option>
		 <option value="CadetBlue" style="color: CadetBlue;">CadetBlue</option>
		 <option value="Chartreuse" style="color: Chartreuse;">Chartreuse</option>
		 <option value="Chocolate" style="color: Chocolate;">Chocolate</option>
		 <option value="Coral" style="color: Coral;">Coral</option>
		 <option value="CornFlowerBlue" style="color: CornFlowerBlue;">CornFlowerBlue</option>
		 <option value="Crimson" style="color: Crimson;">Crimson</option>
		 <option value="Cyan" style="color: Cyan;">Cyan</option>
		 <option value="DarkBlue" style="color: DarkBlue;">DarkBlue</option>
		 <option value="DarkCyan" style="color: DarkCyan;">DarkCyan</option>
		 <option value="DarkGoldenrod" style="color: DarkGoldenrod;">DarkGoldenrod</option>
		 <option value="DarkGray" style="color: DarkGray">DarkGray</option>
		 <option value="DarkGreen" style="color: DarkGreen;">DarkGreen</option>
		 <option value="DarkKhaki" style="color: DarkKhaki;">DarkKhaki</option>
		 <option value="DarkMagenta" style="color: DarkMagenta;">DarkMagenta</option>
		 <option value="DarkOliveGreen" style="color: DarkOliveGreen;">DarkOliveGreen</option>
		 <option value="DarkOrange" style="color: DarkOrange;">DarkOrange</option>
		 <option value="DarkOrchid" style="color: DarkOrchid;">DarkOrchid</option>
		 <option value="DarkRed" style="color: DarkRed;">DarkRed</option>
		 <option value="DarkSalmon" style="color: DarkSalmon;">DarkSalmon</option>
		 <option value="DarkSeaGreen" style="color: DarkSeaGreen;">DarkSeaGreen</option>
		 <option value="DarkSlateBlue" style="color: DarkSlateBlue;">DarkSlateBlue</option>
		 <option value="DarkSlateGray" style="color: DarkSlateGray;">DarkSlateGray</option>
		 <option value="DarkTurquoise" style="color: DarkTurquoise;">DarkTurquoise</option>
		 <option value="DarkViolet" style="color: DarkViolet;">DarkViolet</option>
		 <option value="DeepPink" style="color: DeepPink;">DeepPink</option>
		 <option value="DeepSkyBlue" style="color: DeepSkyBlue;">DeepSkyBlue</option>
		 <option value="DimGray" style="color: DimGray;">DimGray</option>
		 <option value="DodgerBlue" style="color: DodgerBlue;">DodgerBlue</option>
		 <option value="#4CFEFF" style="color: #4CFEFF;">ElectrikMint</option>
		 <option value="FireBrick" style="color: FireBrick;">FireBrick</option>
		 <option value="ForestGreen" style="color: ForestGreen;">ForestGreen</option>
		 <option value="Fuchsia" style="color: Fuchsia;">Fuchsia</option>
		 <option value="Gold" style="color: Gold;">Gold</option>
		 <option value="Goldenrod" style="color: Goldenrod;">Goldenrod</option>
		 <option value="GreenYellow" style="color: GreenYellow;">GreenYellow</option>
		 <option value="HotPink" style="color: HotPink;">HotPink</option>
		 <option value="IndianRed" style="color: IndianRed;">IndianRed</option>
		 <option value="Indigo" style="color: Indigo;">Indigo</option>
		 <option value="LawnGreen" style="color: LawnGreen;">LawnGreen</option>
		 <option value="LightBlue" style="color: LightBlue;">LightBlue</option>
		 <option value="LightCoral" style="color: LightCoral;">LightCoral</option>
		 <option value="LightGreen" style="color: LightGreen;">LightGreen</option>
		 <option value="LightGrey" style="color: LightGrey;">LightGrey</option>
		 <option value="LightPink" style="color: LightPink;">LightPink</option>
		 <option value="LightSalmon" style="color: LightSalmon;">LightSalmon</option>
		 <option value="LightSeaGreen" style="color: LightSeaGreen;">LightSeaGreen</option>
		 <option value="LightSkyBlue" style="color: LightSkyBlue;">LightSkyBlue</option>
		 <option value="LightSlateGray" style="color: LightSlateGray;">LightSlateGray</option>
		 <option value="LightSteelBlue" style="color: LightSteelBlue;">LightSteelBlue</option>
		 <option value="Lime" style="color: Lime;">Lime</option>
		 <option value="LimeGreen" style="color: LimeGreen;">LimeGreen</option>
		 <option value="Magenta" style="color: Magenta;">Magenta</option>
		 <option value="Maroon" style="color: Maroon;">Maroon</option>
		 <option value="MediumBlue" style="color: MediumBlue;">MediumBlue</option>
		 <option value="MediumOrchid" style="color: MediumOrchid;">MediumOrchid</option>
		 <option value="MediumPurple" style="color: MediumPurple;">MediumPurple</option>
		 <option value="MediumSeaGreen" style="color: MediumSeaGreen;">MediumSeaGreen</option>
		 <option value="MediumSlateBlue" style="color: MediumSlateBlue;">MediumSlateBlue</option>
		 <option value="MediumTurquoise" style="color: MediumTurquoise;">MediumTurquoise</option>
		 <option value="MediumVioletRed" style="color: MediumVioletRed;">MediumVioletRed</option>
		 <option value="MidnightBlue" style="color: MidnightBlue;">MidnightBlue</option>
		 <option value="Navy" style="color: Navy;">Navy</option>
		 <option value="Olive" style="color: Olive;">Olive</option>
		 <option value="OliveDrab" style="color: OliveDrab;">OliveDrab</option>
		 <option value="OrangeRed" style="color: OrangeRed;">OrangeRed</option>
		 <option value="Orchid" style="color: Orchid;">Orchid</option>
		 <option value="PaleVioletRed" style="color: PaleVioletRed;">PaleVioletRed</option>
		 <option value="Peru" style="color: Peru;">Peru</option>
		 <option value="Pink" style="color: Pink;">Pink</option>
		 <option value="Plum" style="color: Plum;">Plum</option>
		 <option value="RosyBrown" style="color: RosyBrown;">RosyBrown</option>
		 <option value="RoyalBlue" style="color: RoyalBlue;">RoyalBlue</option>
		 <option value="SaddleBrown" style="color: SaddleBrown;">SaddleBrown</option>
		 <option value="Salmon" style="color: Salmon;">Salmon</option>
		 <option value="SandyBrown" style="color: SandyBrown;">SandyBrown</option>
		 <option value="SeaGreen" style="color: SeaGreen;">SeaGreen</option>
		 <option value="Sienna" style="color: Sienna;">Sienna</option>
		 <option value="Silver" style="color: Silver;">Silver</option>
		 <option value="SkyBlue" style="color: SkyBlue;">SkyBlue</option>
		 <option value="SlateBlue" style="color: SlateBlue;">SlateBlue</option>
		 <option value="SlateGray" style="color: SlateGray;">SlateGray</option>
		 <option value="SpringGreen" style="color: SpringGreen;">SpringGreen</option>
		 <option value="SteelBlue" style="color: SteelBlue;">SteelBlue</option>
		 <option value="Tan" style="color: Tan;">Tan</option>
		 <option value="Teal" style="color: Teal;">Teal</option>
		 <option value="Thistle" style="color: Thistle;">Thistle</option>
		 <option value="Tomato" style="color: Tomato;">Tomato</option>
		 <option value="Turquoise" style="color: Turquoise;">Turquoise</option>
		 <option value="Violet" style="color: Violet;">Violet</option>
		 <option value="Wheat" style="color: Wheat;">Wheat</option>
		 <option value="YellowGreen" style="color: YellowGreen;">YellowGreen</option>
	 </select>
<a href="java script:closeall();" onmouseover="hstat('close')">Закрыть все  теги </a><br />
   <input type="button" accesskey="h" value=" http:// " onclick="tag_url()" class="codebuttons" name="url" onmouseover="hstat('url')" />
   <input type="button" accesskey="g" value=" IMG " onclick="tag_image()" class="codebuttons" name="img" onmouseover="hstat('img')" />
   <input type="button" accesskey="e" value="  @  " onclick="tag_email()" class="codebuttons" name="email" onmouseover="hstat('email')" />
   <input type="button" accesskey="q" value=" QUOTE " onclick="simpletag('QUOTE')" class="codebuttons" name="QUOTE" onmouseover="hstat('quote')" />
   <input type="button" accesskey="p" value=" CODE " onclick="simpletag('CODE')" class="codebuttons" name="CODE2" onmouseover="hstat('code')" />
   <input type="hidden" accesskey="l" value=" LIST " onclick="tag_list()" class="codebuttons" name="LIST" onmouseover="hstat('list')" />

<input type="button" accesskey="o" value=" OFFTOP " onclick="simpletag('OFFTOP)" class="codebuttons" name="OFFTOP" onmouseover="hstat('OFFTOP')" />	   
<!--
 <input type="button" accesskey="l" value=" SQL "	 onclick="simpletag("SQL")"	 class="codebuttons" name="SQL" />
 <input type="button" accesskey="t" value=" HTML "	onclick="simpletag("HTML")"	class="codebuttons" name="HTML" />
 -->
   <br />
Открытых тегов:
<input type="text" name="tagcount" size="3" maxlength="3" readonly="readonly" class="helpbox" value="0" />
   </div></td>
</tr>
<tr>
  <td class="formsubtitle"> </td>
  <td class="formsubtitle"><div align="left">Введите текс сообщения </div></td>
</tr>
<tr>
  <td height="200" align="center" class="pformleft">
 <table cellspacing="0" style='width:auto'>
   <tr>
	 <td align="center" colspan="3"><b>Смайлы</b></td>
   </tr>
   <tr align='center'>
	 <td><a href="java script:emoticon(':angry:')"><img src="style_emoticons/default/angry.gif" alt='smilie' border='0' /></a> </td>
	 <td><a href="java script:emoticon(':wub:')"><img src="style_emoticons/default/wub.gif" alt='smilie' border='0' /></a> </td>
	 <td><a href="java script:emoticon(':blink:')"><img src="style_emoticons/default/blink.gif" alt='smilie' border='0' /></a> </td>
   </tr>
   <tr align='center'>
	 <td><a href="java script:emoticon(':rolleyes:')"><img src="style_emoticons/default/rolleyes.gif" alt='smilie' border='0' /></a> </td>
	 <td><a href="java script:emoticon(':unsure:')"><img src="style_emoticons/default/unsure.gif" alt='smilie' border='0' /></a> </td>
	 <td><a href="java script:emoticon(':ph34r:')"><img src="style_emoticons/default/ph34r.gif" alt='smilie' border='0' /></a> </td>
   </tr>
   <tr align='center'>
	 <td> <a href="java script:emoticon(':wacko:')"><img src="style_emoticons/default/wacko.gif" alt='smilie' border='0' /></a></td>
   </tr>
   <tr align='center'>
	 <td colspan="3"><b><a href="java script:emo_pop()">Все смайлы </a></b></td>
	 </tr>
   <tr>
	 <td align="center" colspan="3"><b><span class="desc"><b><a href="java script:CheckLength()">{ipb.lang['check_length']}</a>  <a href="java script:bbc_pop()">BB Code Помощь</a></b></span></b></td>
   </tr>
 </table>	  
 </td>
  <td class="pformright" valign="top"><div align="left">
 <textarea cols="100" rows="20" name="Post" tabindex="3" class="textarea">$data</textarea>
  </div></td>
</tr>
 </table>
 <br />
<if="ipb.member['auto_track'] == "" or ipb.member['auto_track'] == '0'">
<input type="checkbox" name="enabletrack" value="1" class="checkbox" />
Подписаться на тему  {ipb.lang['qr_add_email']} |
</if>  <else>
<input type="checkbox" name="enabletrack" value="1" class="checkbox" /> {ipb.lang['qr_add_email']}|  </else>
<input type="checkbox" name="enableemo" value="yes" class="checkbox" checked="checked" /> {ipb.lang['qr_add_smilie']} |
<input type="checkbox" name="enablesig" value="yes" class="checkbox" checked="checked" /> {ipb.lang['qr_add_sig']}<br /><br />
<input type="submit" name="submit" value="{ipb.lang['qr_submit']}" class="button" tabindex="2" accesskey="s" /> 
<input type="submit" name="preview" value="{ipb.lang['qr_more_opts']}" class="button" />
  </div>
</div>
</form>
</div>

Ссылка на комментарий
Поделиться на других сайтах

Руки поотрывать за такой инстал...

скачал хтмл файл

и там ничё нет, кроме

 

************************ Отправка поста по Ctrl+Enter Большое спасибо тов. Innuendo (http://vingrad/@Innuendo) за помощь с кодом :D Техническая поддержка и адаптация под ваш форум осуществляется по адресу: http://forum.vingrad.ru/index.php?showforum=177 Там же вы можете просмотреть кучу других скриптов, которые не будут помещаться в данный архив ;) ************************ 1. Файл skin_topic.php Функция quick_reply_box_open () Ищем: Добавляем функцию по onkeydown :)

 

и пустой формы

Ссылка на комментарий
Поделиться на других сайтах

А смысл делать ответ с помощью этой комбинации клавиш? Форум - не такая вещь где можно обойтись одной лишь клавиатурой, все равно мышку потом в руку надо брать.

Смысл нулевой.

 

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

Да и то лучше регулировать данную возможность в профиле.

 

Если честно, то не понял зачем

onkeydown="function(e)"

у текстарии, когда всему документу задается обработчик события нажатия клавиши. либо уж делай единый обработчик (что не очень желательно), либо делай именно функцию, которую нигде не ставишь как обработчик, но запускаешь ее на keydown в текстарии.

Ссылка на комментарий
Поделиться на других сайтах

У меня такой инсталл скачался

************************

Отправка поста по Ctrl+Enter

Большое спасибо тов. Innuendo (http://vingrad/@Innuendo) за помощь с кодом :D

Техническая поддержка и адаптация под ваш форум осуществляется по адресу: http://forum.vingrad.ru/index.php?showforum=177

Там же вы можете просмотреть кучу других скриптов, которые не будут помещаться в данный архив ;)

************************

 

1. Файл skin_topic.php

Функция quick_reply_box_open ()

Ищем:

 

<script type="text/javascript">

<!--

 

Ниже добавляем:

 

document.onkeydown=function(e){

if (e) event=e

if ((event.keyCode==13)&&(event.ctrlKey)){

document.REPLIER.submit.click();

}}

 

Далее чуть ниже ищем:

 

<textarea onmouseover='checkselection()' id='fastreplyarea' cols="70" rows="8" name="Post" class="textarea" tabindex="1"></textarea>

 

Добавляем функцию по onkeydown :)

 

<textarea onmouseover='checkselection()' id='fastreplyarea' onkeydown="function(e)" cols="70" rows="8" name="Post" class="textarea" tabindex="1"></textarea>

 

Мод готов к употреблению!

 

СУВ, 2man (http://vingrad.ru/@2man)

Ссылка на комментарий
Поделиться на других сайтах

А смысл делать ответ с помощью этой комбинации клавиш? Форум - не такая вещь где можно обойтись одной лишь клавиатурой, все равно мышку потом в руку надо брать.

Смысл нулевой.

 

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

Да и то лучше регулировать данную возможность в профиле.

 

Если честно, то не понял зачем

onkeydown="function(e)"

у текстарии, когда всему документу задается обработчик события нажатия клавиши. либо уж делай единый обработчик (что не очень желательно), либо делай именно функцию, которую нигде не ставишь как обработчик, но запускаешь ее на keydown в текстарии.

имхо, полезен, но не всем :D Это как приятная мелочь ;)

Мне, как админу, который вприницпе, в каждой тебе оставит своё сообщение - будет удобно. Хотя я через табуляцию привык переключатся на кнопку "ответить" :)

два раза ТАБ+ЕНТЕР=готово :)

 

з.ы.: а в опере работает этот мод?

Ссылка на комментарий
Поделиться на других сайтах

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

 

А что стоит на ibresource?

Ctrl + Enter

 

Афтору низачОт. :D

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
  • 2 недели спустя...

Я сделал во так и вроде работает:

 

Админцентр->Внешний вид ->Изменить HTML фрагменты ->skin_topic ->quick_reply_box_open

 

найти:

<script type="text/javascript">
<!--

Добавить ниже:

document.onkeydown=function(e){
if (e) event=e
if ((event.keyCode==13)&&(event.ctrlKey)){
document.REPLIER.submit.click();
}}

Далие находим ниже:

<textarea onmouseover='checkselection()' id='fastreplyarea' cols="70" rows="8" name="Post" class="textarea" tabindex="1"></textarea>

И заменить на:

<textarea onmouseover='checkselection()' id='fastreplyarea' onkeydown="function(e)" cols="70" rows="8" name="Post" class="textarea" tabindex="1"></textarea>

Ссылка на комментарий
Поделиться на других сайтах

  • 3 года спустя...
  • 3 месяца спустя...

в этом же шаблоне

Админцентр->Внешний вид ->Изменить HTML фрагменты ->skin_topic ->quick_reply_box_open

 

найди

 

<input type="submit" name="submit" value="{$this->ipsclass->lang['qr_submit']}" class="button" tabindex="2" accesskey="s" />

 

и после {$this->ipsclass->lang['qr_submit']} допиши (Ctrl+Enter)

 

получится так:

 

<input type="submit" name="submit" value="{$this->ipsclass->lang['qr_submit']} (Ctrl+Enter)" class="button" tabindex="2" accesskey="s" />

 

...

 

Можно конечно дописать в языковых файлах, но так проще, и править меньше ...

Ссылка на комментарий
Поделиться на других сайтах

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.