Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2012, 01:20
Интересующийся
Отправить личное сообщение для foreach Посмотреть профиль Найти все сообщения от foreach
 
Регистрация: 04.03.2011
Сообщений: 22

bbcodes вставляются в чужой textarea
Прошу помощи. Я не очень силен в javascript. У меня на странице есть две вкладки в каждой из них по форме. В каждой форме есть поле textarea. К этим textarea подключены скрипты вставки ббкодов.
Вот разметка
<span>
<span onclick="insert_bbcode('[b]', '[/b]');">
<span onclick="insert_bbcode('[i]', '[/i]');">
<span onclick="insert_bbcode('[u]', '[/u]');">
<span onclick="insert_bbcode('[url]', '[/url]');">
</span>
<br>
<textarea id="full"  name="full_description"></textarea>

А это функция вставки ббкодов
window.document.task1.full_description
task1- это имя формы
ull_description - это имя textarea
function insert_bbcode(bbopen, bbclose)
{
var input = window.document.task1.full_description;
input.focus();
/* for Internet Explorer )*/
if(typeof document.selection != 'undefined')
{
var range = document.selection.createRange();
var insText = range.text;
range.text = bbopen + insText + bbclose;
range = document.selection.createRange();
if (insText.length == 0)
{
range.move('character', -bbclose.length);
}
else
{
range.moveStart('character', bbopen.length + insText.length + bbclose.length);
}
range.select();
}
/* for newer browsers like Firefox */
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbopen + insText + bbclose + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbopen.length;
}
else
{
pos = start + bbopen.length + insText.length + bbclose.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* for other browsers like Netscape... */
else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Please tape your text");
input.value = input.value.substr(0, pos) + bbopen + insText + bbclose + input.value.substr(pos);
}
}

Во второй форме тоже самое, только имна формы и textarea другие и в скрипте соответственно var input тоже имеет другое значение.

Вот я нажимаю любой span в первой форме, а вставляются ббкоды во второй форме и совсем в другое текстовое поле.
В чем может быть причина?
Ответить с цитированием
  #2 (permalink)  
Старый 30.01.2012, 12:31
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от foreach
Я не очень силен в javascript.
А в чем Вы сильны?
Сообщение от foreach
я нажимаю любой span в первой форме, а вставляются ббкоды во второй форме и совсем в другое текстовое поле.
В чем может быть причина?
1. в том, что Вы нагуглили скрипт и пытаетесь его прикрутить
2. в том, что задан не тот элемент, куда надо вставлять
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 30.01.2012 в 12:34.
Ответить с цитированием
  #3 (permalink)  
Старый 30.01.2012, 20:15
Интересующийся
Отправить личное сообщение для foreach Посмотреть профиль Найти все сообщения от foreach
 
Регистрация: 04.03.2011
Сообщений: 22

Сообщение от nerv_
Сообщение от foreach
Я не очень силен в javascript.

А в чем Вы сильны?

Сообщение от foreach
я нажимаю любой span в первой форме, а вставляются ббкоды во второй форме и совсем в другое текстовое поле.
В чем может быть причина?


1. в том, что Вы нагуглили скрипт и пытаетесь его прикрутить
2. в том, что задан не тот элемент, куда надо вставлять
Уважаемый nerv_, я силен в PHP.
Теперь по причинам:
1. Этот скрипт входит в библиотеку bb_codes для фреймворка CodeIgniter. Прикручивать ничего не надо. Она просто загружается приложением.
2. Вот заданный элемент - var input = window.document.task1.full_description;
Код я копировал из исхдного кода страницы. То что уже отдано в браузер. Для второй формы соответственно свой скрипт(который я пытаюсь "прикрутить") и в нем строка var input = window.document.task2.description; как видите отличается. Соответственно поля name формы и текстареа, во второй форме то же отличаются. В общем проблема осталась.
nerv_, хотелось бы еще вам посоветовать быть снисходительнее к людям, хоть у вас и звание профессор. И не разобравшись в ситуации, никогда не говорить, что у человека ошибка в ДНК.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обновить textarea wp2 Events/DOM/Window 6 03.02.2012 22:44
С чего начать...автоматическое преобразование в bb-code в html внутри textarea javasc Events/DOM/Window 0 22.01.2011 06:37
Resize textarea, в копилку. Robox jQuery 0 17.01.2011 18:05
изменение размера textarea Vovan222 Общие вопросы Javascript 23 12.09.2010 20:14
textarea validation Петр Общие вопросы Javascript 3 08.12.2009 18:59