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