Пока я додумался только до этого
Код
function smile(smile,id)
{
document.getElementById("textarea2").value+=" ";
document.getElementById("textarea2").value+=smile;
document.getElementById("textarea2").value+=" ";
}
{
document.getElementById("textarea2").value+=" ";
document.getElementById("textarea2").value+=smile;
document.getElementById("textarea2").value+=" ";
}
smile тут это тип *lol*,*kon*,и так далее
Спустя 53 минуты, 27 секунд (23.10.2007 - 12:20) vasa_c написал(а):
Снизу есть форма быстрого ответа.
Спустя 15 минут, 45 секунд (23.10.2007 - 12:36) Professor написал(а):
???
я попробовал разобраться в коде,но чет не получилось


Спустя 3 часа, 54 минуты, 20 секунд (23.10.2007 - 16:30) vasa_c написал(а):
Ваша главная задача запомнить позицию курсора в поле ввода, перед тем, как оно потеряет фокус (при нажатии на кнопку). Посмотрите, какие действия выполняются первым делом при нажатии на здешние кнопки.
Спустя 20 минут, 52 секунды (23.10.2007 - 16:51) Professor написал(а):
Вот функция вставки смайликов (может я и ошибаюсь(что скорей всего))
Смотрю сюда как на китайскую грамоту
Код
function add_smilie(scode, smid)
{
var _image = document.getElementById(smid).src;
_image = _image.replace( /.*\/(.+?)$/, "$1" );
try
{
opener.IPS_Lite_Editor[ 'fast-reply' ].insert_emoticon( smid.replace( 'smid_', '' ), _image, scode, this );
}
catch(error)
{
}
}
{
var _image = document.getElementById(smid).src;
_image = _image.replace( /.*\/(.+?)$/, "$1" );
try
{
opener.IPS_Lite_Editor[ 'fast-reply' ].insert_emoticon( smid.replace( 'smid_', '' ), _image, scode, this );
}
catch(error)
{
}
}
Смотрю сюда как на китайскую грамоту

Спустя 17 часов, 18 минут, 32 секунды (24.10.2007 - 10:09) vasa_c написал(а):
Вам нужно:
1. Отловить щелчок по иконке смайла
2. При этом щелчке textarea будет терять фокус, поэтому вам нужно так же отловить это событие и запомнить положение курсора.
3. Вставить нужный смайт в TA в сохраненной позиции курсора.
4. Вернуть фокус на TA с курсором в нужном месте.
Какие мысли, наработки, затруднения, вопросы по каждому пункту?
1. Отловить щелчок по иконке смайла
2. При этом щелчке textarea будет терять фокус, поэтому вам нужно так же отловить это событие и запомнить положение курсора.
3. Вставить нужный смайт в TA в сохраненной позиции курсора.
4. Вернуть фокус на TA с курсором в нужном месте.
Какие мысли, наработки, затруднения, вопросы по каждому пункту?
Спустя 2 дня, 31 минута, 40 секунд (26.10.2007 - 10:41) Professor написал(а):
1. OnMauseClick (add_smilie("...","...")); Так?
2. var xxx = parent.frames['xxx'].document.forms["xxx"].elements['xxx'];
selStart=xxx.selectionStart;
selEnd=xxx.selectionEnd; Так?
3. Тут не знаю
4. Тут тоже.
2. var xxx = parent.frames['xxx'].document.forms["xxx"].elements['xxx'];
selStart=xxx.selectionStart;
selEnd=xxx.selectionEnd; Так?
3. Тут не знаю
4. Тут тоже.
Спустя 1 час, 12 минут, 37 секунд (26.10.2007 - 11:54) vasa_c написал(а):
Ловите onClick на смайлике. В обработчике:
1. Ищите позицию курсора в TA.
В FF и Opera для этого можно использовать TA.selectionStart, TA.selectionEnd.
В IE создать объект с помощью TA.createTextRange(). Какие там у него свойства не помню, посмотрите.
2. Вставить нужный текст в нужное место, т.е. изменить TA.value. Может помочь slice().
3. Вернуть фокус полю в нужном месте.
Для FF - TA.setSelectionRange()
Для IE - TA.focus(здесь, по, моему адрес курсора);
1. Ищите позицию курсора в TA.
В FF и Opera для этого можно использовать TA.selectionStart, TA.selectionEnd.
В IE создать объект с помощью TA.createTextRange(). Какие там у него свойства не помню, посмотрите.
2. Вставить нужный текст в нужное место, т.е. изменить TA.value. Может помочь slice().
3. Вернуть фокус полю в нужном месте.
Для FF - TA.setSelectionRange()
Для IE - TA.focus(здесь, по, моему адрес курсора);
_____________
Легче всего создаются трудности