Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Текст или факт выделенного текста!!! / 9 сообщений из 9, страница 1 из 1
27.11.2006, 13:57
    #34157658
nikromant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст или факт выделенного текста!!!
Подскажите пожалуйста, как отследить состояние выделенного "куска" текста в TextBox , дабы потом нажав к примеру на кнопку "<B>" собственно данный текст обрмлялся данным тэгом???

Также, может вы подскажите как подобное действие можно осуществить другими способами (хотя важнее первое).

PS Спасибо!
PS С уВАСжением к маньякам больными ASPмой NIKROMANT!!!
...
Рейтинг: 0 / 0
27.11.2006, 16:00
    #34158269
Dimon aka Manowar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст или факт выделенного текста!!!
Копипаст с PostMessage манийного:

function paste(t1,t2)
{
    var textBox = eval('document.PageForm._ctl0__ctl0__ctl0_txtMessage');
    if (true) {
        if (document.selection) {
            textBox.focus();

            var txt = textBox.value;
            var str = document.selection.createRange();

            if (str.text == "") {
                str.text = t1 + t2;
            } else if (txt.indexOf(str.text)>=0) {
                str.text = t1 + str.text + t2;
            } else {
                textBox.value = txt + t1 + t2;
            }
        }
    } else {
        textBox.value = 
        textBox.value + t1 + t2;
    }
}

Ну и
<A title="выделение полужирным шрифтом" href="javascript:paste('<b>','</b>')"><B>[b]</B></A>


Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
27.11.2006, 16:02
    #34158291
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст или факт выделенного текста!!!
ASP.NET mania:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
function paste(t1,t2)
{
	var textBox = eval('document.PageForm._ctl0__ctl0__ctl0_txtMessage');
	if (true) {
		if (document.selection) {
			textBox.focus();

			var txt = textBox.value;
			var str = document.selection.createRange();

			if (str.text == "") {
				str.text = t1 + t2;
			} else if (txt.indexOf(str.text)>= 0 ) {
				str.text = t1 + str.text + t2;
			} else {
				textBox.value = txt + t1 + t2;
			}
		}
	} else {
		textBox.value = 
		textBox.value + t1 + t2;
	}
}
вызов:
Код: plaintext
onclick="javascript:paste('[strong]','[/strong]')"
sql.ru
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
function InsertCode(codes, codee) {
  document.msgform.message.focus();
  
  if (document.selection) {
    // ie & may be opera  8 
    var rng = document.selection.createRange();
    if (rng.text) {   
      document.selection.createRange().text = codes + rng.text + codee;
    } else {  
      document.msgform.message.value += codes  + codee;
    }
    document.msgform.message.focus();
  } else if (document.msgform.message.selectionStart ||
document.msgform.message.selectionStart == '0') {
    // mozilla: intellegent bcodes support
    var selStart = document.msgform.message.selectionStart;
    var selEnd = document.msgform.message.selectionEnd;

    var s = document.msgform.message.value;
    s = s.substring( 0 , selStart) + codes + s.substring(selStart, selEnd)
+ codee + s.substring(selEnd, s.length);
    document.msgform.message.value = s;

    if (selEnd != selStart) {
      document.msgform.message.selectionStart = selStart;
      document.msgform.message.selectionEnd = selEnd + codes.length +
codee.length;
    } else {
      document.msgform.message.selectionStart = selStart + codes.length;
      document.msgform.message.selectionEnd =
document.msgform.message.selectionStart;
    }
  } else {
    // other browsers
    document.msgform.message.value += codes + codee;
  }
}
вызов:
Код: plaintext
onclick="InsertCode('','')"
P.S. у каждой страницы можно смотреть сурс - там всё как на ладони ;)
...
Рейтинг: 0 / 0
27.11.2006, 16:18
    #34158364
nikromant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст или факт выделенного текста!!!
Все это конечно хорошо, но мне как минимум без Java скриптов нужно. В идеале на C#...
PS С уВАСжением к маньякам больными ASPмой NIKROMANT!!!
...
Рейтинг: 0 / 0
27.11.2006, 16:32
    #34158419
SkyLight
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст или факт выделенного текста!!!
nikromantВсе это конечно хорошо, но мне как минимум без Java скриптов нужно. В идеале на C#...
PS С уВАСжением к маньякам больными ASPмой NIKROMANT!!!

А вот тут включаем моск: как ты сделаешь подобное на клиенте с СЕРВЕРА??? Какой, нафиг, C#? Вся клиентская обработка делается клиентскими скриптами. Так что не вредничаю и юзай жабаскрипт, иначе никак.

ЗЫ. Если юзать DIV с включенным contentEditable, то можно пользоваться стандартными комбинациями типа Ctrl+B, Ctrl+I и без написания кода, но кажись это свойство не работает в Лисе.
...
Рейтинг: 0 / 0
27.11.2006, 16:59
    #34158517
nikromant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст или факт выделенного текста!!!
А вот тут включаем моск: как ты сделаешь подобное на клиенте с СЕРВЕРА??? Какой, нафиг, C#? Вся клиентская обработка делается клиентскими скриптами. Так что не вредничаю и юзай жабаскрипт, иначе никак.
С трудом верится, так как я уже почти осуществил задуманное используя такую вещь как SelectedText , SelectionLength и SelectionStart ...
PS С уВАСжением к маньякам больными ASPмой NIKROMANT!!!
...
Рейтинг: 0 / 0
27.11.2006, 18:12
    #34158813
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст или факт выделенного текста!!!
сочуствую пользователям твоей супер страницы - LOL для вставки тэгов (кнопкой) отослать страницу на сервер и дождаться ответа - это COOL ;)))
ИМХО: проще руками с клавы набрать спецтэг, ну или на край забить на такой ресурс и на такого автора проекта (уж извини за прямоту ;)
...
Рейтинг: 0 / 0
28.11.2006, 11:34
    #34160110
nikromant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст или факт выделенного текста!!!
сочуствую пользователям твоей супер страницы - LOL для вставки тэгов (кнопкой) отослать страницу на сервер и дождаться ответа - это COOL
))
ИМХО: проще руками с клавы набрать спецтэг, ну или на край забить на такой ресурс и на такого автора проекта (уж извини за прямоту

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

PS С уВАСжением к маньякам больными ASPмой NIKROMANT!!!
...
Рейтинг: 0 / 0
28.11.2006, 13:16
    #34160585
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст или факт выделенного текста!!!
авторэто нужно для того, чтобы забить контент вэб-мастеру и пользователи в этот процесс не вмешиваются!!!
не будь пионером... кто-то когда-то это делал до тебя ;)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Текст или факт выделенного текста!!! / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]