1. Есть 2 текстовых поля infoText1 и infoText2. Как ограничить длину вводимых символов? пробовал прописывать maxChars, но эффекта желаемого не получил.
2. Есть кнопка nextbutton. Как сделать, чтобы она появлялась только тогда, когда в обоих полях есть текст, а если они пустые, то кнопка должна пропадать?

Код AS3:
package
{
/**
* ...
* @author 123
*/
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class SendMail extends Sprite
{
private var mailSpite:Sprite = new Sprite();
private var formatMenuScheme:TextFormat = new TextFormat();
private var infoText1:TextField = new TextField();
private var infoText2:TextField = new TextField();
public function SendMail()
{
formatMenuScheme.bold = true;
formatMenuScheme.font = "Tahoma";
formatMenuScheme.size = 16;
formatMenuScheme.color = 0x666666;
var windowFrame:Sprite = new Sprite();
windowFrame.graphics.lineStyle(3, 0x999999);
windowFrame.graphics.beginFill(0xFFFFFF, 1);
windowFrame.graphics.drawRoundRect(150, 180, 540, 130, 15, 15);
windowFrame.graphics.endFill();
infoText1.type = TextFieldType.INPUT;
// infoText1.autoSize = TextFieldAutoSize.LEFT;
infoText1.border = true;
infoText1.borderColor = 0xFF0000;
infoText1.background = true;
infoText1.backgroundColor = 0xCCCCCC;
infoText1.x = 250;
infoText1.y = 210;
infoText1.width = 400;
infoText1.height = 30;
infoText1.maxChars = 25; // количество символов
infoText2.type = TextFieldType.INPUT;
// infoText2.autoSize = TextFieldAutoSize.LEFT;
infoText2.border = true;
infoText2.borderColor = 0xFF0000;
infoText2.background = true;
infoText2.backgroundColor = 0xCCCCCC;
infoText2.x = 250;
infoText2.y = 250;
infoText2.width = 400;
infoText2.height = 30;
infoText2.maxChars = 25; // количество символов
var nextbutton:MiniCustomSimpleButton = new MiniCustomSimpleButton();
nextbutton.x = 400;
nextbutton.y = 350;
var nextButtonText:TextField = new TextField();
nextButtonText.text = "Отправить";
nextButtonText.autoSize = TextFieldAutoSize.CENTER;
nextButtonText.x = 420;
nextButtonText.y = 360;
nextButtonText.setTextFormat(formatMenuScheme);
nextButtonText.mouseEnabled = false; // отвечает за перекрытие - отключено (с. 607)
mailSpite.addChild(nextbutton);
mailSpite.addChild(nextButtonText);
mailSpite.addChild(windowFrame);
mailSpite.addChild(infoText1);
mailSpite.addChild(infoText2);
addChild(mailSpite);
nextbutton.addEventListener (MouseEvent.CLICK, clickNextButton);
infoText1.addEventListener(TextEvent.TEXT_INPUT, infoText1InputListener);
infoText2.addEventListener(TextEvent.TEXT_INPUT, infoText2InputListener);
}
private function infoText1InputListener (e:TextEvent):void {
var infoText1:TextField = TextField (e.target);
e.preventDefault();
infoText1.replaceText(infoText1.caretIndex, infoText1.caretIndex, e.text);
var regularFormat:TextFormat = new TextFormat();
regularFormat.font = "Tahoma";
regularFormat.size = 20;
regularFormat.color = 0x666666;
infoText1.setTextFormat(regularFormat, infoText1.caretIndex, infoText1.caretIndex + e.text.length);
var newCaretIndex:int = infoText1.caretIndex + e.text.length;
infoText1.setSelection(newCaretIndex, newCaretIndex);
trace(infoText1.text);
}
private function infoText2InputListener (e:TextEvent):void {
var infoText2:TextField = TextField (e.target);
e.preventDefault();
infoText2.replaceText(infoText2.caretIndex, infoText2.caretIndex, e.text);
var regularFormat2:TextFormat = new TextFormat();
regularFormat2.font = "Tahoma";
regularFormat2.size = 20;
regularFormat2.color = 0x666666;
infoText2.setTextFormat(regularFormat2, infoText2.caretIndex, infoText2.caretIndex + e.text.length);
var newCaretIndex:int = infoText2.caretIndex + e.text.length;
infoText2.setSelection(newCaretIndex, newCaretIndex);
trace(infoText2.text);
}
private function clickNextButton (e:MouseEvent):void {
}
}
}