Новичку нужен совет:)
Здравствуйте! Подскажите как сделать чтобы пользователь писал статью на моей страничке сайта, выделял нужный текст, нажимал нужную кнопку и в соответствии с нажатой кнопкой в текст вставлялись теги(жирный, курсив, размер текста.....) . Типо того когда пишешь новую темы в этом форуме.
Если можно, то поподробнее, пожалуйста. |
Доставайте выделенный текст через selectionStart/selectionEnd и заменяйте их через replace таким образом:
var e = textarea, // Ссылка на текстовое поле st = e.selectionStart, // Начало выделения en = e.selectionEnd; // Конец выделения e.value = e.value.replace(e.value.slice(st, en), '[b]' + e.value.slice(st, en) + '[/b]'); Для IE немного по-другому: document.selection.createRange().text возвратит выделенный текст. |
Я дико извиняюсь, но как это связать с текстовым полем, чтобы было при нажатии кнопки???
|
Я же дал почти готовый код.
|
а куда его вписывать??? И как сделать чтобы это все происходило по нажатию кнопки. Я что-то вообще не пойму.
|
Бегом учить основы.
|
СПАСИБО!
|
))
Цитата:
может кому сгодиться ...))) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>insert_tags</title> </head> <body> <script language="JavaScript" type="text/javascript"> function insert_tags(b) { var a = document.getElementsByName("message")[0], c = a.selectionStart, d = a.selectionEnd;a.focus(); if (typeof c == "number") { a.value = a.value.slice(0, c) + "[" + b + "]" + a.value.slice(c, d) + "[/" + b + "]" + a.value.slice(d); a.setSelectionRange(b.length + c + 2, b.length + d + 2); a.focus() } else if (document.selection) { a = document.selection.createRange(); c = b.length + 3; d = a.text.length + c; a.text = "[" + b + "]" + a.text + "[/" + b + "]"; a.moveStart("character", -d); a.moveEnd("character", -c); a.select() } } </script> <textarea name="message" cols="30" rows="3"></textarea><br /> <input name="color" value="[color]" onclick="insert_tags('color')" type="button"/> <input name="color" value="[b]" onclick="insert_tags('b')" type="button"/> </body> </html> |
Часовой пояс GMT +3, время: 16:48. |