|
|
|
| Делаю панель визуальной правки данных на сайте - смысл в том, что в поле textarea при выделении нужного текста и нажатии например кнопки выделения жирным как в примере ниже, текст обрамляется соответствующими тегами... приведенный ниже упрощенный вариант скрипта работает так как нужно, но только в эксплорере. ВОПРОС: Как слелать чтоб этот скрипт работал так же в опере и мазиле? Очень жду ответов. Спасибо.
<script language="javascript" type="text/javascript">
function Insert(Text)
{
element = document.getElementById(" Mytextarea");
element.focus();
if (document.selection)
{
SelectedText = element.document.selection.createRange();
SelectedText.text ="["+Text+"]"+SelectedText.text+"[/"+Text+"]";
}
}
// -->
</script>
<form method="post" >
<!-- кнопка, в гиф формате, при клике на которой выделенный текст в форме обрамляется тегом [b][/b] -->
<img src="panel/bold.gif" onclick='Insert(b.value)' name="b" value="b" style="cursor: hand" alt="Выделение жирным"/>
<br clear='all' />
<textarea name=" Mytextarea" ></textarea>
</form> | |
|
|
|
|
|
|
|
для: Yustys
(20.01.2008 в 04:21)
| | element.[selectionStart|selectionEnd|selectionLength] | |
|
|
|
|
|
|
|
для: bronenos
(20.01.2008 в 10:10)
| | Спасибо, но мне в Вашей подсказке не разобраться, я слаб в яваскрипт, Вы не могли бы показать тоже, но уже в моем примере? | |
|
|
|
|
|
|
|
для: yustys
(21.01.2008 в 15:47)
| | У меня тут сессия, но
Начало выделения .selectionStart
Длина выделения .selectionLength
Конец выделения .selectionEnd
Это если я помню
Остальное - перезапись value с учетом substr() нужного места | |
|
|
|
|
|
|
|
для: Yustys
(20.01.2008 в 04:21)
| | в мозиле и опере немного подругому, если не спешно то завтра выложу скрипт работающий и там и там... если спешно поищите в гугле или яндексе на тему bb коды в мозиле или что то подобное | |
|
|
|
|
|
|
|
для: KPETuH
(21.01.2008 в 18:20)
| | Может, это? | |
|
|
|
|
|
|
|
для: KPETuH
(21.01.2008 в 18:20)
| | КРЕТиНу=Жду дня завтрашнего. Буду ОЧЕНЬ благодарен!!! | |
|
|
|
|
|
|
|
для: yustys
(21.01.2008 в 22:35)
| |
function tag(txtstart,txtend) {
document.koment.msg.focus();
if (document.selection) {
// ie & may be opera 8
var rng = document.selection.createRange();
if (rng.text) {
document.selection.createRange().text = txtstart + rng.text + txtend;
} else {
document.koment.msg.value += txtstart + txtend;
}
document.koment.msg.focus();
}
else if (document.koment.msg.selectionStart ||
document.koment.msg.selectionStart == '0') {
// mozilla: intellegent bcodes support
var selStart = document.koment.msg.selectionStart;
var selEnd = document.koment.msg.selectionEnd;
var s = document.koment.msg.value;
s = s.substring(0, selStart) + txtstart + s.substring(selStart, selEnd)
+ txtend + s.substring(selEnd, s.length);
document.koment.msg.value = s;
if (selEnd != selStart) {
document.koment.msg.selectionStart = selStart;
document.koment.msg.selectionEnd = selEnd + txtstart.length +
txtend.length;
} else {
document.koment.msg.selectionStart = selStart + txtstart.length;
document.koment.msg.selectionEnd =
document.koment.msg.selectionStart;
}
} else {
// other browsers
document.koment.msg.value += txtstart + txtend;
}
}
|
вместо koment и msg нужно подставить свои значения koment - имя формы, msg - имя textarea
использовать
<a class='tag' href='#' onclick="javascript:tag('[U]','[/U]'); return false;" >[U][/U]</a>
|
p.s. скрипт не мой авторство щас уже не скажу :) , в опере не пробовал в мозиле точно работает... | |
|
|
|
|
|
|
|
для: KPETuH
(21.01.2008 в 22:59)
| | Спасибо большое.!!! Вы мне очень помогли! Благодарен. | |
|
|
|