VVL99
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Cheery А я с этого и начал, мой пост с первым кодом именно это и делает, единственное, что там переменная определяется не во всех браузерах, а вторая часть кода именно заменяет выделенный текст в поле ввода на тотже, только с тегом, соответственно, берём переменную из второго кода и всё готово. Ну, ради интереса сделаю пример. Добавлено: Вот готовый вариант, идея не моя, но работает во всех браузерах. Код: <html> <body> <p>Напечатайте текст, выделите его и нажмите ссылку BB code.</p> <textarea id = "postarea" class = "text_area" rows = "5" cols = "120" name = "txt"></textarea> <a href="#" onClick = "javascript:tag_add(postarea, '[spoiler]', '[/spoiler]')"><b>BB code</b></a> </body> <script> function tag_add(obj, str1, str2) { if(document.selection) { // Для IE var s = document.selection.createRange(); if (s.text) { s.text = str1 + s.text + str2 } else { obj.value = obj.value + str1 + str2 } } else if (typeof(obj.selectionStart) == "number") { // Opera, FireFox, Chrome if (obj.selectionStart != obj.selectionEnd) { var start = obj.selectionStart; var end = obj.selectionEnd; s = obj.value.substr(start,end-start); obj.value = obj.value.substr(0, start) + str1 + s + str2 + obj.value.substr(end) } else { obj.value = obj.value + str1 + str2 } } } </script> </html> </html> | А вот ещё ужал Код: <html> <body> <p>Напечатайте текст, выделите его и нажмите ссылку BB code.</p> <textarea id = "postarea" class = "text_area" rows = "5" cols = "120" name = "txt"></textarea> <a href="#" onClick = "javascript:tag_add(postarea, '[spoiler]', '[/spoiler]')"><b>BB code</b></a> </body> <script> function tag_add(obj, str1, str2) { if(document.selection) { // Для IE var s = document.selection.createRange(); if (s.text) { s.text = str1 + s.text + str2 } } else { // Opera, FireFox, Chrome var start = obj.selectionStart; var end = obj.selectionEnd; s = obj.value.substr(start,end-start); obj.value = obj.value.substr(0, start) + str1 + s + str2 + obj.value.substr(end) } } </script> </html> |
| Всего записей: 4160 | Зарегистр. 03-02-2011 | Отправлено: 21:42 23-04-2012 | Исправлено: VVL99, 17:18 25-04-2012 |
|