ОсновноеRadiotalkПользовательское
Программирование
6   •   Посмотреть все темы

Textarea + Input

 

4036
DelFast @DelFast
Читай пост.

1130
Александр @WestSide
Nietzshe пишет:

Читай пост.

И где твой пример работает? **********
Эта информация скрыта и доступна только зарегистрированным пользователям.

4036
DelFast @DelFast
Походу в мозиле не работает, щас поправим

4036
DelFast @DelFast
Перерыл много форумов - баг движка мозилы. Придется как то в инпуте обойтись с линком. ща постараюсь.

Пропарился, жестоко, нифига не смог. Простите, уж. Но я еще на досуге попробую.

Отредактировано DelFast - 21.07.2009
6600
Александр @admiral
Nietzshe, не парься, пользуйся стандартными кнопками, они легче перевариваются браузерами, а то так с пары строк можно пару томов войны и мира наворотить)

ZloVeЩиЙ пишет:

Еще один вопрос из той же темы:
Как заставить при нажатии на "определенную" ссылку, вставлять "определенный" фрагмент текста в поле для ввода оно же - textarea ?
Аналогом тому есть левый фрейм смайлов, как пример.

ZloVeЩиЙ, это имел ввиду? Вставляется твой написаный текст в поле, в то место где стоит курсор в textarea:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>111</title>
<script language=JavaScript>
function Insert(Text) {
element = document.getElementById("texts");
element.focus();
if (document.selection) {
SelectedText = element.document.selection.createRange();
SelectedText.text = Text; }
}
</script>
</head>
<body>
<textarea name=texts rows=5 cols=26>бла бла бла</textarea>
<br>
Написать: <input type=text name=paste>
<br>
Вставить: <input type=button value='Вставить' onclick='Insert(paste.value)'>
</body>
</html>

Кстате, если SelectedText.text = Text; заменить на SelectedText.text = "<a href='"+Text+"'>"+SelectedText.text+"</a>";,
то текст будет вставляться в textarea в виде ссылки, а если заменить на SelectedText.text = ''; , удалить <input type=text name=paste> и переименовать кнопку Вставить в кнопку Удалить, то при выделении текста в поле textarea и нажатии на кнопку Удалить, выделеный текст будет стерт 😉

6703
Андрей @ZloVeЩиЙ
Адмирал, к сожалению не то.
Нужно именно ссылкой, при нажатии на картинку, и не одну, а как минимум 9:
<a href=Вставить в текстареа - 1><img src=kartinka.gif></a>
<a href=Вставить в текстареа - 2><img src=kartinka2.gif></a>
Как я уже писал, тоже самое, что и со смайлами в чате.

6600
Александр @admiral
Тогда пробуй так, скрипт оставляем тем же:
<script language=JavaScript>
function Insert(Text) {
element = document.getElementById("texts");
element.focus();
if (document.selection) {
SelectedText = element.document.selection.createRange();
SelectedText.text = Text; }
}
</script>

textarea тоже:
<textarea name=texts rows=5 cols=26></textarea>

Под textarea вставляем ссылки с катинками вида:
<a href="#" onclick="Insert('Text1')" title="1"><img src=kartinka1.gif></a>
<a href="#" onclick="Insert('Text2')" title="2"><img src=kartinka2.gif></a>
<a href="#" onclick="Insert('Text3')" title="3"><img src=kartinka3.gif></a>

или такого:
<a href="javascript:;" onclick="Insert('Text1')" title="1"><img src=kartinka1.gif></a>
<a href="javascript:;" onclick="Insert('Text2')" title="2"><img src=kartinka2.gif></a>
<a href="javascript:;" onclick="Insert('Text3')" title="3"><img src=kartinka3.gif></a>

При нажатии на соответствующую картинку, будет вставляться Text1, Text2 или Text3 в textarea

6703
Андрей @ZloVeЩиЙ
admiral пишет:

Тогда пробуй так, скрипт оставляем тем же:
<script language=JavaScript>
function Insert(Text) {
element = document.getElementById("texts");
element.focus();
if (document.selection) {
SelectedText = element.document.selection.createRange();
SelectedText.text = Text; }
}
</script>

textarea тоже:
<textarea name=texts rows=5 cols=26></textarea>

Под textarea вставляем ссылки с катинками вида:
<a href="#" onclick="Insert('Text1')" title="1"><img src=kartinka1.gif></a>
<a href="#" onclick="Insert('Text2')" title="2"><img src=kartinka2.gif></a>
<a href="#" onclick="Insert('Text3')" title="3"><img src=kartinka3.gif></a>

или такого:
<a href="javascript:;" onclick="Insert('Text1')" title="1"><img src=kartinka1.gif></a>
<a href="javascript:;" onclick="Insert('Text2')" title="2"><img src=kartinka2.gif></a>
<a href="javascript:;" onclick="Insert('Text3')" title="3"><img src=kartinka3.gif></a>

При нажатии на соответствующую картинку, будет вставляться Text1, Text2 или Text3 в textarea

Аналогичная ошибка как и у Nietzshe - не все браузеры поддерживают ):

6600
Александр @admiral
ZloVeЩиЙ пишет:

Аналогичная ошибка как и у Nietzshe - не все браузеры поддерживают ):

А вот над этим и подумаете, пока меня не будет, времени вам аж числа до 11 августа )))

458
ridz @ridz
а если так? )))
<script language=JavaScript>
function Insert(Text) {
var obj = document.getElementsByName("texts")[0];
obj.focus();
var pos1 = obj.selectionStart, pos2 = obj.selectionEnd;
if(typeof(pos1)=="number") {
obj.value = obj.value.substring(0, pos1) + Text + obj.value.substring(pos2, obj.value.length);
var pos3=pos1+Text.length; obj.setSelectionRange(pos3,pos3);
}
else if (document.selection) {
SelectedText=document.selection.createRange();
SelectedText.text=Text; SelectedText.select(); }
}
</script>

информация по данному вопросу находиться под этим скриптом имеющий глаза да увидит 😁

Отредактировано ridz - 22.07.2009
6703
Андрей @ZloVeЩиЙ
Вот онно, чудо.
Работает на ура во всех браузерах. 😁

6600
Александр @admiral
ridz, ну вот, я ж хотел занять народ пока меня не будет, а ты не дал 😁

4036
DelFast @DelFast
Нифига не понял))) Тоесть как смайлы? сами смайлы на другой странице, и само поле на другой?

Отредактировано DelFast - 24.07.2009
6703
Андрей @ZloVeЩиЙ
<script language=JavaScript>
function Insert(Text) {
var obj = document.getElementsByName("texts")[0];
obj.focus();
var pos1 = obj.selectionStart, pos2 = obj.selectionEnd;
if(typeof(pos1)=="number") {
obj.value = obj.value.substring(0, pos1) + Text + obj.value.substring(pos2, obj.value.length);
var pos3=pos1+Text.length; obj.setSelectionRange(pos3,pos3);
}
else if (document.selection) {
SelectedText=document.selection.createRange();
SelectedText.text=Text; SelectedText.select(); }
}
</script>

<a href="javascript:;" onclick="Insert('Text1')" title="1"><img src=kartinka1.gif></a>
<a href="javascript:;" onclick="Insert('Text2')" title="2"><img src=kartinka2.gif></a>
<a href="javascript:;" onclick="Insert('Text3')" title="3"><img src=kartinka3.gif></a>

Не хочет вставлять если в input or textarea присутствует функция - onfocus=this.value='' value='Текс который при наведении убирается'
Можно как то поправить скрипт что бы и при этом ссылка вида <a href="javascript:;" onclick="Insert('Text1')" title="1"><img src=kartinka1.gif></a> работала?

Отредактировано ZloVeЩиЙ - 23.09.2009
4036
DelFast @DelFast
onfocus="this.value='';" value="Текс который при наведении убирается"

6703
Андрей @ZloVeЩиЙ
DelFast пишет:

onfocus="this.value='';" value="Текс который при наведении убирается"

Ты перед тем как что либо предлать сам его не пытался опробывать? Думаешь из-за отсутствия открывающих\закрывающик кавычек что либо изменится? Я же написал что скрипт отказывается вставлять что либо в поле ввода именно из за этой функции -
onfocus="this.value='';" value="Текс который при наведении убирается"

4036
DelFast @DelFast
ZloVeЩиЙ пишет:

DelFast пишет:

onfocus="this.value='';" value="Текс который при наведении убирается"

Ты перед тем как что либо предлать сам его не пытался опробывать? Думаешь из-за отсутствия открывающих\закрывающик кавычек что либо изменится? Я же написал что скрипт отказывается вставлять что либо в поле ввода именно из за этой функции -
onfocus="this.value='';" value="Текс который при наведении убирается"

так у тебя 2 функции? или что? Покажи пример

6703
Андрей @ZloVeЩиЙ
Есть скрипт by ridz:
<script language=JavaScript>
function Insert(Text) {
var obj = document.getElementsByName("texts")[0];
obj.focus();
var pos1 = obj.selectionStart, pos2 = obj.selectionEnd;
if(typeof(pos1)=="number") {
obj.value = obj.value.substring(0, pos1) + Text + obj.value.substring(pos2, obj.value.length);
var pos3=pos1+Text.length; obj.setSelectionRange(pos3,pos3);
}
else if (document.selection) {
SelectedText=document.selection.createRange();
SelectedText.text=Text; SelectedText.select(); }
}
</script>

который при нажатии на ссылки:
<a href="javascript:;" onclick="Insert('Text1')" title="1">Text1</a>
<a href="javascript:;" onclick="Insert('Text2')" title="2">Text2</a>

вставляет содержимое в поле с name="texts"...
Сообственно такой вопрос, каким образом можно его исправить, что бы он не заменял выделенное содержимое в поле, а добавлял к нему, пример BB-коды здесь на форуме..

Отредактировано ZloVeЩиЙ - 26.08.2010
8497
Степан @Trilby
<script language=JavaScript>
function Insert(Text) {
var obj = document.getElementsByName("texts")[0];
obj.focus();
var pos1 = obj.selectionStart, pos2 = obj.selectionEnd;
if(typeof(pos1)=="number") {
obj.value = obj.value.substring(0, pos1) + Text + obj.value.substring(pos2, obj.value.length);
var pos3=pos1+Text.length; obj.setSelectionRange(pos3,pos3);
}
else if (document.selection) {
SelectedText=document.selection.createRange();
SelectedText.text=Text; SelectedText.select(); }
}

function ftags(t1,t2) {
var obj=document.getElementsByName("texts")[0]; obj.focus();
var pos1 = obj.selectionStart, pos2 = obj.selectionEnd;
if(typeof(pos1)=="number") {
obj.value = obj.value.substring(0, pos1) + t1 + obj.value.substring(pos1, pos2) + t2 + obj.value.substring(pos2,

obj.value.length);
var pos3=pos2+t1.length+t2.length; obj.setSelectionRange(pos3,pos3);
}
else if(document.selection) {
var range=document.selection.createRange();
range.text=t1+range.text+t2; range.select();
}
else obj.value += t1 + t2;
obj.focus();
}
</script>

<a href="javascript:;" onclick="Insert('Text1')" title="1">Text1</a>
<a href="javascript:;" onclick="Insert('Text2')" title="2">Text2</a>
<a href='javascript:ftags("[b]","[/b]");' title="3">B</a>
<textarea name="texts" rows="10" cols="75" tabindex="1"></textarea>

6703
Андрей @ZloVeЩиЙ
Дабы не создавать новую тему...
Где то в просторах интернета видел (на jquery ?) * подобные переключатели, сейчас когда нужно уже и не вспомнишь... помогите найти а?
Вариант смены изображения при щелчке с вкл. на выкл. и наоборот не подойдет, нужно что бы можно было потянуть ползунок.
*

Отредактировано ZloVeЩиЙ - 08.10.2011