Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.07.2009, 09:46
l576 вне форума Посмотреть профиль Отправить личное сообщение для l576 Найти все сообщения от l576
  № 1  
Ответить с цитированием
l576

Регистрация: Feb 2009
Сообщений: 15
По умолчанию Изменение Text-ового поля

Здр.
Предположим, существует файл some.fla
вот:



1. Text Input (all text)
2. Text Input (www.something.com)
3. Button (send) <a href=""></a>

Как сделать, чтобы при нажатии на Button(3),
ссылка из text-ового поля(2),
добавлялась в text-ового поле(1) с тегом <a href=""></a>

Жду ответа
С ув. l576
Изображения
 

Старый 14.07.2009, 11:56
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
пр.

Код AS1/AS2:
var app:		Object = this;
 
var outputTextField:	TextField;
var inputTextField:	TextField;
 
this.button.onRelease = function():Void {
	app.outputTextField.text = '<a href="' + app.inputTextField.text + '"></a>';
};
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 14.07.2009, 13:06
l576 вне форума Посмотреть профиль Отправить личное сообщение для l576 Найти все сообщения от l576
  № 3  
Ответить с цитированием
l576

Регистрация: Feb 2009
Сообщений: 15
Большое спасибо! dimarik

Однако,

1. При добавлении весь текст, который там(1. Text Input (all text)) находится, уходит и остается только ссылка. //текст (вот ссылка) уходит//. Как сделать чтобы ссылка добавлялась к остальному тексту.
2. При следующем добавлении уже другой ссылки она не добавляется, а просто изменяется прошлая. Как сделать, чтобы можно было бы добавлять больше одной ссылки.


Спустя время (1 мин)
Проблему решил немного подредактировав
Код AS1/AS2:
var app:		Object = this;
 
var outputTextField:	TextField;
var inputTextField:	TextField;
 
this.button.onRelease = function():Void {
	app.outputTextField.text = app.outputTextField.text + '<a href="' + app.inputTextField.text + '"></a>';
};


Последний раз редактировалось l576; 14.07.2009 в 13:35.
Старый 14.07.2009, 13:45
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Код AS1/AS2:
app.outputTextField.text += '<a href="' + app.inputTextField.text + '"></a>';
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 14.07.2009, 13:47
l576 вне форума Посмотреть профиль Отправить личное сообщение для l576 Найти все сообщения от l576
  № 5  
Ответить с цитированием
l576

Регистрация: Feb 2009
Сообщений: 15
Спасибо
Последний 3 вопрос
Если я добавляю ссылку, то она всегда добавляется в конце всего текста(или др. ссылок)
Так как и
1. Text Input (all text)
2. Text Input (www.something.com)
это Text Input, то я могу ставить курсор в любой области текста 1. Text Input (all text), однако добавляется ссылка все равно в конце.
Как сделать так чтобы ссылка добавляласть там где стоит текстовый курсор.


Последний раз редактировалось l576; 14.07.2009 в 13:55.
Старый 14.07.2009, 14:09
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Код AS1/AS2:
var app:		Object = this;
 
var outputTextField:	TextField;
var inputTextField:	TextField;
 
this.button.onRelease = function():Void {
	var result:	String;
	var inline:	String = '<a href="' + app.inputTextField.text + '"></a>';
 
	if ( Selection.getFocus() == app.outputTextField ) {
		var index:Number = Selection.getCaretIndex();
		result = 
				app.outputTextField.text.slice(0, index) + 
				inline + 
				app.outputTextField.text.slice(index + 1);
	} else {
		result = app.outputTextField.text + inline;
	}
 
	app.outputTextField.text = result;	
};
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 14.07.2009, 14:23
l576 вне форума Посмотреть профиль Отправить личное сообщение для l576 Найти все сообщения от l576
  № 7  
Ответить с цитированием
l576

Регистрация: Feb 2009
Сообщений: 15
Что-то все равно, в конце только добавляет
Вот some.fla&some.swf //f8 as2
see swf
some.fla
some.swf


Последний раз редактировалось l576; 14.07.2009 в 15:34.
Старый 14.07.2009, 15:31
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Я не учел, что фокус перемещается на кнопку. Нужно сохранять caretIndex.

Код AS1/AS2:
var app:				Object = this;
 
var outputTextField:	TextField;
var inputTextField:		TextField;
var caretIndex:			Number = -1;
 
Key.addListener(this);
 
this.button.onRelease = function():Void {
	var result:	String;
	var inline:	String = '<a href="' + app.inputTextField.text + '"></a>';
 
	if ( app.caretIndex > -1 ) {
		result = 
				app.outputTextField.text.slice(0, app.caretIndex) + 
				inline + 
				app.outputTextField.text.slice(app.caretIndex + 1);
	} else {
		result = app.outputTextField.text + inline;
	}
 
	app.outputTextField.text = result;	
};
 
function storeCaretIndex():Void {
	if ( Selection.getFocus() !=  String(this.outputTextField) ) return;
	this.caretIndex = Selection.getCaretIndex();
	trace(this.caretIndex);
}
 
//-----------------------------------
//
// Events handlers
//
//-----------------------------------
function onKeyUp():Void {
	this.storeCaretIndex();
}
 
function onMouseDown():Void {
	this.onEnterFrame = this.enterFrameHandler;
}
 
function enterFrameHandler():Void {
	this.onEnterFrame = null;
	this.storeCaretIndex();
}
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 14.07.2009, 15:42
l576 вне форума Посмотреть профиль Отправить личное сообщение для l576 Найти все сообщения от l576
  № 9  
Ответить с цитированием
l576

Регистрация: Feb 2009
Сообщений: 15
КрасавчеГ nice work

Добавлено через 2 часа 58 минут
Простите за упрямство, а если нужно сделать, так:

[IMG]http://img194.**************/img194/8091/50754297.gif[/IMG]

т. е. если, 2. Text Input, уже не нужен, текс(ссылки) добавляются
непосредственно в 1. Text Input (all text) //ко всему(основному) тексту.

Спасибо.

Старый 14.07.2009, 18:47
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 10  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Посмотрите, у класса Selection есть методы getBeginIndex() и getEndIndex().
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:08.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:08.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.