Есть текстовое поле <input> или <textarea>
Возможно ли добавлять текст к уже имеющемся в поле не в конец строки, а в положение курсора?
Возможно ли добавлять текст к уже имеющемся в поле не в конец строки, а в положение курсора?
только в MSIEа мне только там и нужно!
Не знаю почему, но твой вариант не сработал.... вставляет в конец текста....
Третий вариант лучше всего работает. попробуй вставить что нибудь, предварительно выделив часть текста в Сваргином и моем варианте.
<textarea name="message" rows="15" cols="35" wrap="virtual" style="width:450px" tabindex="3" class="post" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);">
function storeCaret(textEl) {
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
}
Не обновляется внизу DIV при наборе текста в Эксплорере!!!
чтобы в опере (новой) работало - никак? нет такого кода что ли?
Гмммм...... маленькая поправка: не в Эксплорере, а в МайИЕ..... В ИЕ обновляется
глючат в 5-м ИЕ (нормально работают в 5.5+)...
И новый из того, что я сам отрыл: http://ibis-tour.com/wywiwig3.html
Там конечно я их поковеркал, но в твоем вроде все правильно сделал....
Третий вариант лучше всего работает. попробуй вставить что нибудь, предварительно выделив часть текста в Сваргином и моем варианте.
Может, я не понял, как воспроизвести проблему, но у меня такой проблемы нет (а мой вариант похож на тот третий). Вот моя страница и в ИЕ 6 работает Ок -
"Русская Виртуальная Клавиатура":
http://ourworld.compuserve.com/homepages/PaulGor/onscreen.htm
Цитата:Может, я не понял, как воспроизвести проблему, но у меня такой проблемы нет (а мой вариант похож на тот третий). Вот моя страница и в ИЕ 6 работает Ок -
"Русская Виртуальная Клавиатура":
http://ourworld.compuserve.com/homepages/PaulGor/onscreen.htm
Во всех моих ИЕ6 с последними фиксами данная проблема есть, и ваша страница глючит точно также, внимательней:
1. Копируем что-то в клипбоард.
2. МЫШЬЮ правым кликом делаем Paste
3. Не кликая в текстареа, сразу нажимаем МЫШЬЮ какую-либо букву под клавиатурой - она заменяет скопированный текст
<script language="JavaScript">
<!--
function emoticon(char1){
document.card_form.card_text_text.focus();
var str='';
if(document.getSelection){
str = document.getSelection();
document.card_form.card_text_text.value=document.card_form.card_text_text.value+char1+str;
}
else if (document.selection && document.selection.createRange){
str = document.selection.createRange();
str.text = char1+str.text;
}
else{
alert('Операция не может быть выполнена');
}
document.card_form.card_text_text.focus();
}
//-->
</script>
' + theSelection + '\n\n');
вот в Firefox 1.0.7 (в предыдущих версия не пробовал) нет
Ошибка: document.selection has no properties
Источник: Строка: 666
' + theSelection + '\n\n');
' + theSelection1 + '\n\n');
Твой вариант: http://ibis-tour.com/wywiwig.html
Сварги: http://ibis-tour.com/wywiwig2.html
И новый из того, что я сам отрыл: http://ibis-tour.com/wywiwig3.html
я немогу понять как insertText(element,text) зачем так сделанно
<textarea name=test onselect="storeCaret(this)" onclick="storeCaret(this)" onkeyup="storeCaret(this)">
или
<input type=text name=test onselect="storeCaret(this)" onclick="storeCaret(this)" onkeyup="storeCaret(this)">
Функция storeCaret:
function storeCaret(element)
{
if (document.selection && document.selection.createRange)
element.caretPos=document.selection.createRange().duplicate();
}
Функция insertText, которая вставляет текст:
function insertText(element,text)
{
if (element && element.caretPos)
element.caretPos.text=text;
else if (element && element.selectionStart+1 && element.selectionEnd+1)
element.value=element.value.substring(0,element.selectionStart)+text+e
lement.value.substring(element.selectionEnd,element.value.length);
else if (element)
element.value+=text;
}
если я правильно понимаю то element это то что прилетает тоесть "текст", а text это просто переменная.
Возможно значение element пишем здесь: insertText(element,text) чтобы не делать так:document.post.message подскажите пожалуйста.
' + theSelection + '\n\n');
' + theSelection1 + '\n\n');
Вот так вот не работает вы можете поправить красным что не так я делаю и какие у меня ошибки, и как их исправить.
document.post.message.focus();
в FF набери в адресной строке javascript: и читай.
document.post.message.focus();
document.getElementById();
Как мне оперделить функцию?
' + theSelection + '\n\n');
' + theSelection1 + '\n\n');
document.getElementById('message').focus();
Предыдущая тема: Flash/PHP: e-mail-форма