X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> При клике изменяем свойства выделенного текста
dimjan4
dimjan4
Topic Starter сообщение 16.5.2009, 20:59; Ответить: dimjan4
Сообщение #1


Я хочу сделать редактор, например, как на этом форуме, только по легче!
Только B , I , цвет....
Помогите, как изменять свойства только выделенного текста в textarea?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
сообщение 17.5.2009, 1:31; Ответить: MetSerp
Сообщение #2


[PHP]function change_text(tag , id)
{
var input = document.getElementById(id);

if (typeof(input.selectionStart)=='number')
{
if (input.selectionStart != input.selectionEnd)
{
var start = input.selectionStart;
var end = input.selectionEnd;
var text = input.value.substr(start,end-start);
input.value = input.value.replace (text , '<' + tag + '>' + text + '</' + tag + '>');
}
return true;
}
}

[/PHP]
Вот для мозилы соответственно в качестве параметра функции tag передаем тег в который мы текст суем а в параметре id, ай дяк поля откуда мы ищем выделение:sarcastic:
Для остальных браузеров пока не задавался вопросом так как не было надо :rolleyes:
PS форму унифицировал после вкопирование в окошко ответа мог где то опечататься :wacko:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 17.5.2009, 12:06; Ответить: dimjan4
Сообщение #3


Вы так имели ввиду??
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>Редактор</title>
<script type="text/javascript">
function change_text(tag , id)
{
var input = document.getElementById(id);

if (typeof(input.selectionStart)=='number')
{
if (input.selectionStart != input.selectionEnd)
{
var start = input.selectionStart;
var end = input.selectionEnd;
var text = input.value.substr(start,end-start);
input.value = input.value.replace (text , '<' + tag + '>' + text + '</' + tag + '>');
}
return true;
}
</script>
</head>

<body>

<form method="post" enctype="text/plain">
<input type="button" value="B" onclick="change_text(b , zoze)"/>
<br />
<textarea id="zoze" rows="30" cols="50">

</textarea>

</form>

</body>
</html>


Если да , то скажу, что при клике на кнопку Выделение пропадает!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
сообщение 18.5.2009, 10:38; Ответить: MetSerp
Сообщение #4


(dimjan4 @ 17.5.2009, 15:06) *
change_text(b , zoze)

неиспользование кавычек для текстовых пегеменных пгинято некошегным и вызывает ошибку :rolleyes:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 18.5.2009, 15:33; Ответить: dimjan4
Сообщение #5


Вот, я переделал, у меня всё равно при клике выделение убирается!
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>Редактор</title>
<script type="text/javascript">
function change_text(tag , id)
{
var input = document.getElementById(id);

if (typeof(input.selectionStart)=='number')
{
if (input.selectionStart != input.selectionEnd)
{
var start = input.selectionStart;
var end = input.selectionEnd;
var text = input.value.substr(start,end-start);
input.value = input.value.replace (text , '<' + tag + '>' + text + '</' + tag + '>');
}
return true;
}
</script>
</head>

<body>

<form method="post" enctype="text/plain">
<input type="button" value="B" onclick="change_text('b' , 'zoze')"/>
<input type="button" value="i" onclick="change_text('i' , 'zoze')"/>
<br />
<textarea id="zoze" rows="30" cols="50">
</textarea>

</form>

</body>
</html>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
сообщение 18.5.2009, 16:11; Ответить: MetSerp
Сообщение #6


(MetSerp @ 17.5.2009, 04:31) *
Вот для мозилы

В мозиле пробовали?
собственно пронюхал скрипт дебагером на досуге, и нашел что не закрыта последняя фигурная скобка, добавьте ее в самом коце скрипта, видимо таки прохлопал ушами когда унифицировал :sarcastic:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 1.6.2009, 23:50; Ответить: dimjan4
Сообщение #7


А вот насчёт смайликов:

[PHP]function getsmile(smile){
var input = document.getElementById('text');
input.value = input.value.replace (smile);
}
[/PHP]

<table width="446">
<tr>
<td width="39" align="center" valign="middle" onClick="getsmile('::smile1::')"><img src="img/smiles/s1.gif" width="30" height="24"></td>
<td width="42" align="center" valign="middle" onClick="getsmile('::smile2::')"><img src="img/smiles/s2.gif" width="42" height="30"></td>
<td width="42" align="center" valign="middle" onClick="getsmile('::smile3::')"><img src="img/smiles/s3.gif" width="20" height="20"></td>
<td width="42" align="center" valign="middle" onClick="getsmile('::smile4::')"><img src="img/smiles/s4.gif" width="42" height="27"></td>
<td width="40" align="center" valign="middle" onClick="getsmile('::smile5::')"><img src="img/smiles/s5.gif" width="20" height="20"></td>
<td width="40" align="center" valign="middle" onClick="getsmile('::smile6::')"><img src="img/smiles/s6.gif" width="20" height="20"></td>
<td width="38" align="center" valign="middle" onClick="getsmile('::smile7::')"><img src="img/smiles/s7.gif" width="37" height="33"></td>
<td width="28" align="center" valign="middle" onClick="getsmile('::smile8::')"><img src="img/smiles/s8.gif" width="28" height="23"></td>
<td width="31" align="center" valign="middle" onClick="getsmile('::smile9::')"><img src="img/smiles/s9.gif" width="23" height="21"></td>
<td width="40" align="center" valign="middle" onClick="getsmile('::smile10::')"><img src="img/smiles/s10.gif" width="38" height="24"></td>
</tr>
<tr>
<td align="center" valign="middle" onClick="getsmile('::smile11::')"><img src="img/smiles/s11.gif" width="29" height="25"></td>
<td align="center" valign="middle" onClick="getsmile('::smile12::')"><img src="img/smiles/s12.gif" width="20" height="20"></td>
<td align="center" valign="middle" onClick="getsmile('::smile13::')"><img src="img/smiles/s13.gif" width="42" height="27"></td>
<td align="center" valign="middle" onClick="getsmile('::smile14::')"><img src="img/smiles/s14.gif" width="23" height="26"></td>
<td align="center" valign="middle" onClick="getsmile('::smile15::')"><img src="img/smiles/s15.gif" width="36" height="27"></td>
<td align="center" valign="middle" onClick="getsmile('::smile16::')"><img src="img/smiles/s16.gif" width="27" height="24"></td>
<td align="center" valign="middle" onClick="getsmile('::smile17::')"><img src="img/smiles/s17.gif" width="23" height="26"></td>
<td align="center" valign="middle" onClick="getsmile('::smile18::')"><img src="img/smiles/s18.gif" width="23" height="20"></td>
<td align="center" valign="middle" onClick="getsmile('::smile19::')"><img src="img/smiles/s19.gif" width="20" height="20"></td>
<td align="center" valign="middle" onClick="getsmile('::smile20::')"><img src="img/smiles/s20.gif" width="40" height="20"></td>
</tr>
</table>



Что тут не так??
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 3.6.2009, 10:05; Ответить: dimjan4
Сообщение #8


Я пробывал сделать проще:
[PHP]function getsmile(smile){
var input = document.getElementById('text');
input.value = input.value=(smile);
}[/PHP]

но этот код полностью удаляет весь текст и ставит смайлик! Я думал, что надо сначала занести весь текст в переменную, но эта затея оказалась тупой! Тогда смайлик бы ставился в самом конце...а мне надо, чтобы ставился где курсор!

ещё пробывал сделать так: [PHP] function getsmile(smile){
var input = document.getElementById('text');
input.value = input.value.write(smile);
}[/PHP]

Проблема такая же!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 28.6.2009, 13:51; Ответить: dimjan4
Сообщение #9


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

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) 📌 Рандомизация видео/аудио/фото/текста с минимальным участием - 𝓓𝓮𝓵𝓽𝓪𝓣𝓸𝓸𝓵𝓼
Мы предлагаем комплексное решение для рандомизации всех видов офера
3 leviathan 1503 Вчера, 19:39
автор: leviathan
Открытая тема (нет новых ответов) Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на первый заказ.
Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на п
7 stu999 1756 31.3.2024, 11:19
автор: stu999
Открытая тема (нет новых ответов) Перевод текста в речь нейросетями - сервис Zvukogram
13 Zvukogram 7222 19.2.2024, 18:16
автор: freon_mr777
Открытая тема (нет новых ответов) Нужен перевод текста с RU на UZ
0 REGNET 769 22.2.2023, 15:17
автор: REGNET
Открытая тема (нет новых ответов) Получил странную ссылку при линкбилдинге
Как поведет себя поиск при обнаружении странной ссылке?
10 r0mZet 2205 24.10.2022, 19:23
автор: Wachowski


 



RSS Текстовая версия Сейчас: 25.4.2024, 0:50
Дизайн