Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с фокусом

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: как поставить фокус в нужное место
qtk
Отправлено: 18 Октября, 2012 - 12:29:44
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




есть скрипт добавления ББ-кодов, после добавления ББ-кода курсор встает перед ББ кодом, а мне надо чтобы после, как это сделать?
CODE (javascript):
скопировать код в буфер обмена
  1. document.add_news.news.focus();
  2. function bb(code) {
  3.    
  4.    if (document.add_news.news.createTextRange && document.add_news.news.caretPos) {
  5.        var caretPos = document.add_news.news.caretPos;
  6.        caretPos.text = code;
  7.    } else {
  8.        var L = document.add_news.news.value.substr(0,document.add_news.news.selectionStart);
  9.        var R = document.add_news.news.value.substr(document.add_news.news.selectionEnd,document.add_news.news.value.length-document.add_news.news.selectionEnd);
  10.        document.add_news.news.value = L+code+R;
  11.    }  
  12.  
  13. document.add_news.news.focus();
  14.  
  15.                   }
 
 Top
IllusionMH
Отправлено: 18 Октября, 2012 - 13:20:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




qtk, этот новоизоблетеннй велосипед невозможно ж читать с такими соплями document.add_news.news по несколько раз в строке.
Правльнее будет
CODE (javascript):
скопировать код в буфер обмена
  1. var newsntext = document.getElementById("news");
, и потом использовать эту переменную.

чтобы поместить курсор после вставленного кода нужно
CODE (javascript):
скопировать код в буфер обмена
  1. newsntext.selectionStart = L.length+code.length;
  2. newsntext.selectionEnd = L.length+code.length;

для геморного метода в ИЕ принцип аналогичный
 
 Top
qtk
Отправлено: 18 Октября, 2012 - 14:17:27
Post Id


Частый гость


Покинул форум
Сообщений всего: 198
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Честно говоря ничего не понял, так как не знаю js, не могли бы вы пожалуйста поправить код в верху и показать как это будет?
 
 Top
IllusionMH
Отправлено: 21 Октября, 2012 - 20:58:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




qtk, может быдет так, а может и не будет
CODE (javascript):
скопировать код в буфер обмена
  1. var newsntext = document.getElementById("news");
  2. document.add_news.news.focus();
  3.  
  4. function bb(code) {
  5.     if (newsntext.createTextRange && newsntext.caretPos) {
  6.         var caretPos = newsntext.caretPos;
  7.         caretPos.text = code;
  8.         document.add_news.news.focus();
  9.     } else {
  10.         var L = newsntext.value.substr(0, newsntext.selectionStart);
  11.         var R = newsntext.value.substr(newsntext.selectionEnd, newsntext.value.length - newsntext.selectionEnd);
  12.         newsntext.value = L + code + R;
  13.        
  14.         document.add_news.news.focus();
  15.         newsntext.selectionStart = L.length + code.length;
  16.         newsntext.selectionEnd = L.length + code.length;
  17.     }
  18.  
  19. }
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB