Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Работа с текстом


Автор: rthsobakas 26.1.2009, 19:18
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="3038494151">

    <title>Untitled 2</title>
<script language="JavaScript">
function insertTag(_tag){
_t=_tag.substr(0,1);
    if (_t=="B") {
      _tg='['+_tag+']';
        _tg+='[/'+_tag+']';
    }
    document.record.body.value+=_tg;  
    
}
</Script>
</head>
<body>
<input type='button' value='B' onclick='insertTag("B");'>
<textarea cols="50" rows="15" name="t_body" ></textarea>
</body>
</html>


есть кнопка. Я нажимаю на неё и по сути в текстарии должен вставляться УББ код {B}{/B}. Не получается

Автор: bars80080 26.1.2009, 21:48
а это что за ерунда?
Цитата(rthsobakas @  26.1.2009,  18:18 Найти цитируемый пост)
document.record.body.value



Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="3038494151">

    <title>Untitled 2</title>
<script language="JavaScript">
function insertTag(_tag){
_t=_tag.substr(0,1);
    if (_t=="B") {
      _tg='['+_tag+']';
        _tg+='[/'+_tag+']';
    }
    document.getElementById('qw').innerHTML += _tg;  
    
}
</Script>
</head>
<body>
<input type='button' value='B' onclick='insertTag("B");'>
<textarea cols="50" rows="15" id="qw" name="t_body" ></textarea>
</body>
</html>

Автор: rthsobakas 27.1.2009, 16:48
bars80080, ещё одна проблема... Если обновить страницу и нажать на кнопку Н раз ,то выведет убб код Н раз.
Но стоит только что-нибудь написать в textarea и потом попробывать нажать на кнопку, то убб код уже не выведется.
Почему так происходит?

Автор: bars80080 27.1.2009, 17:22
ну, вот видишь, а ещё говорят, какой хороший браузер файерфокс. хотя и не справился с очевидностью

Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta name="author" content="3038494151">

    <title>Untitled 2</title>
<script type="text/javascript">
function insertTag(tag) {
    if(tag == 'B') {
        var tg = '[' + tag + ']' + '[/' + tag + ']';
    }
    document.getElementById('qw').value += tg;
}
</script>
</head>
<body>
<input type="button" value="B" onclick="insertTag('B');">
<textarea cols="50" rows="15" id="qw" name="t_body" ></textarea>
</body>
</html>

Автор: rthsobakas 28.1.2009, 20:09
bars80080,  я смотрел в опере. Поэтому Фаирфокс может и действительно хорош.

А как узнатькоординаты курсора в тексте? При нажатии на кнопку текст всегда будет вставляться в конец. Это ясно из 
Код

document.getElementById('qw').value += tg;

А если нужно вставить туда где в данный момент времени расположен курсор? Палагаю нужно представить текстовое поле как массив символов(с  указателем). Но как это сделать?
Код

document.getElementById('qw').value[Указатель] = tg;

Или Можно разбить текст до указателя и после и сформировав новый текст переписать. То есть Text=text1+"{B}{/B}"+text2  
где text1текст до
text2 текст после.

Вообщем мне нужна ваша помощь. Наверняка есть в ЯВАСКРИПТЕ какая то ф-ия для вставки текста в  середину старого, туда где курсор.

Автор: bars80080 28.1.2009, 21:15
ну, это уже пошли разборки. а на деле тебе наверняка нужно и не вставка в середину, а обрамление выделенного фрагмента тэгами

тогда в поиск. здесь подобные темы встречались, а в гугле и подавно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)