Borland_delphi_6 Опубликовано 18 Августа 2007 Жалоба Поделиться Опубликовано 18 Августа 2007 Функция function ins(name) { my_show_div(my_getbyid('qr_open')); if (document.REPLIER.Post) { var input=document.REPLIER.Post; input.value=input.value+"[b]"+name+"[/b]"+" \n" } } прекрасно работает с одключенным RTE, а с включенным - никак =((( Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
.silent Опубликовано 19 Августа 2007 Жалоба Поделиться Опубликовано 19 Августа 2007 там уже не в textarea текст надо вставлять, а в iframe, насколько я знаю.и не с bb-кодами, а уже в голом html. наверняка в новой версии есть функции для вставки текста в редактор с помощью js. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Borland_delphi_6 Опубликовано 19 Августа 2007 Автор Жалоба Поделиться Опубликовано 19 Августа 2007 Наверняка есть, только я без понятия, как их искать. Знатоки структуры IPB, подскажите Ведь все JS наверняка уже изучены вами... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
.silent Опубликовано 19 Августа 2007 Жалоба Поделиться Опубликовано 19 Августа 2007 у меня здесь вот так получилось при полном редактировании: ipsclass.add_editor_contents('test');через js Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Borland_delphi_6 Опубликовано 20 Августа 2007 Автор Жалоба Поделиться Опубликовано 20 Августа 2007 .silent, огромное спасибо! Хм, в продолжении темы: как бы заставить эту функцию вставлять текст в ту позицию, где сейчас курсор? //me пошел осматривать JS, но если кто знает решение - буду рад услышать. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
.silent Опубликовано 20 Августа 2007 Жалоба Поделиться Опубликовано 20 Августа 2007 в моем случае оно как раз и вставило текст в ту позицию, где находился курсор.если пользуешься FireFox, то скачай плагин FireBug и в режиме Console набери этот пример и выполни, увидишь результат сам.предварительно зайди, конечно, на страницу, где есть редактор. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Borland_delphi_6 Опубликовано 20 Августа 2007 Автор Жалоба Поделиться Опубликовано 20 Августа 2007 Я проверял в IE: добавлялось всегда в начало текста. Сейчас проверю еще раз, мало ли... Странно, <a href="java script:ipsclass.add_editor_contents('test');">Test</a> - работает как надо, но убивает смайлы, а <a onClick="java script:ipsclass.add_editor_contents('test');">Test</a> вставляет в начало... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Borland_delphi_6 Опубликовано 20 Августа 2007 Автор Жалоба Поделиться Опубликовано 20 Августа 2007 А не подскажите, как мне на JS выяснить, включена ли расширенная форма ответа, или классическая, как здесь (в форме быстрого ответа)? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 20 Августа 2007 Жалоба Поделиться Опубликовано 20 Августа 2007 А не подскажите, как мне на JS выяснить, включена ли расширенная форма ответа, или классическая, как здесь (в форме быстрого ответа)?То есть RTE или STD? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Borland_delphi_6 Опубликовано 20 Августа 2007 Автор Жалоба Поделиться Опубликовано 20 Августа 2007 Нет, т.е. полный вариант, со смайликами (у меня он в форме быстрого ответа), или такой, как здесь в форме быстрого ответа. Просто для "урезанного" варианта формы ответа ipsclass.add_editor_contents('test'); не работает. А мне нужно обеспечить совместимость с двумя вариантами. Я так понимаю, необходимо проверить существование функции ipsclass.add_editor_contents ? Но я не знаю, как это делается в JS =(( Проверил вот как:if (document.REPLIER.id=="postingform") { //расширенная }else { //стандартная } Вроде все работает, как надо. Нормальный подход придумал, как считаете? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 20 Августа 2007 Жалоба Поделиться Опубликовано 20 Августа 2007 Borland_delphi_6, чем не вариант воспользоваться:try { ipsclass.add_editor_contents('тут то, что ты хочешь отправить'); } catch(e) { // А это исключение, если функция выше не сработала. // Тут ты можешь указать альтернативный способ передачи твоей информации // или оставить область пустой - тогда ничего не будет выполняться. }? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Borland_delphi_6 Опубликовано 20 Августа 2007 Автор Жалоба Поделиться Опубликовано 20 Августа 2007 Вариант, наверное, неплохой, просто у меня опыт JS программинга отсутствует и я о существовании таких конструкций не подозревал даже. В конечно итоге остановился на своей реализации: function ins(name) { my_show_div(my_getbyid('qr_open')); if (document.REPLIER.id=="postingform") { ipsclass.add_editor_contents("[b]"+name+"[/b], "); } else { if(document.REPLIER.Post) { var input=document.REPLIER.Post;input.value=input.value+"[b]"+name+"[/b], " } } } sM1Le, .silent, огромное спасибо вам за помощь! Правда, цитата почему-то все равно вставляется в начало поста. Вообще непонятно почему, если функция используется одна и та же... Не знаю уж, бороться с этим, или забить... Но если есть какие-то идеи, почему так - с радостью выслушаю. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.