Новичку нужен совет:)
Здравствуйте! Подскажите как сделать чтобы пользователь писал статью на моей страничке сайта, выделял нужный текст, нажимал нужную кнопку и в соответствии с нажатой кнопкой в текст вставлялись теги(жирный, курсив, размер текста.....) . Типо того когда пишешь новую темы в этом форуме.
Если можно, то поподробнее, пожалуйста. |
Доставайте выделенный текст через 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, время: 15:44. |