Всем доброго времени суток!
Хоть и группа о пхп, надеюсь что мне смогут помоч
Предыстория: В данный момент пишу новостной блог. И вдруг, мне в голову пришла прекрасная и поистене гениальная мысль – сделать систему бб кодов. Поставить задание и разработать алгоритм было легко, но вот с реализацией я затупил. Да и вообще, начать нужно было с того, что яваскрипт я знаю на уровне "чайника"…
Задание: Вообщем задание простое. на странице есть текстарея и несколько кнопок. По нажатию наодну из кнопок нужно:
Если в текстарее есть выделенный текст, бб код ставить побокам от выделенного текста. Если выделенного текста (или даже фокуса на текстареи) нет, ставить бб код на место курсора (этой, вечномигающей хрени). Идея взята с этого форума – http: // www. ava. net. ua/narod/
Сначала хотел просто напросто добросовесно спионерить скрипт из хтмл исходника форума, увы, не смог
Большими усилиями написал небольшую пародию на этот скрипт…. Но, как не удивительно, работает это чудо только в Мелкософтовском Интернет Эксплорере, и нигде больше. К тому же, не сумел реализовать часть про "Если выделенного текста (или даже фокуса на текстареи) нет, ставить бб код на место курсора (этой, вечномигающей хрени)"
Вообщем, кто может и умеет, а так же кому невпадлу – помогите. Буду очень благодарен Всем заранее огромный спс.
Вот наполовину рабочий (ито, как я уже сказал, только в ИЕ) код, который у меня в конце концов получился:
<script type="text/javasсript">
function insBB(oTag, cTag) {
var a = document.selection.createRange();
if (a.text > '') {
a.text = oTag + a.text + cTag;
} else {
document.f.TAname.value = document.f.TAname.value + oTag + cTag;
}
}
</script>
<form name="f">
<textarea name="TAname" style="width: 50%; height: 50%;">I'am blabla texteg</textarea><br>
<input type=button onClick="insBB('[b]', '[/b]')" title="Жирный" value=" B "> |
<input type=button onClick="insBB('[i]', '[/i]')" title="Курсив" value="I"> |
<input type=button onClick="insBB('[u]', '[/u]')" title="Подчеркивание" value=" U ">
</form>