0

我正在尝试在 Flash CS5 中使用 AS3 创建动态表单。这些表单将由一个容器精灵组成,然后是一对 TLFTextField 对象,一个用于标题(静态,不可选择),一个用于输入字段本身。

我正在使用 TLFTextField 对象,因为我将在我的最终电影中使用这种类型的更强大的格式化功能。另外,我没有使用文本输入组件。

表单已按预期创建和显示,但是字段之间的选项卡不是我所期望的。如果我在第一个字段中输入文本,我必须按 Tab 键 3 次才能到达第二个字段,再按 3 次才能到达第三个字段,依此类推。

我尝试将 tabChildren 设置为 true 和 false,并尝试了启用/禁用 TLFTextField 对象的选项卡和操作 tabIndex 序列的各种组合,但均未成功。

我们将不胜感激地收到解决此问题的所有帮助。

为了说明问题,创建一个新的 AS3 fla 并将以下代码添加到第一帧

import fl.text.TLFTextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFieldType;
import flash.display.Sprite;

stop();

var nIndex:Number = 0;
var yy:Number = 0;
var form:Sprite = new Sprite();
    form.tabChildren = true;

addTextField("First Name");
addTextField("Last Name");
addTextField("Age");

stage.addChild(form);

function addTextField(sCaption:String)
{
    addCaption(sCaption);
    var c:TLFTextField = new TLFTextField();
    c.autoSize = TextFieldAutoSize.NONE;
    c.y = yy;
    c.height = 20;
    c.width = 200;
    c.border = true;
    c.selectable = true;
    c.type = TextFieldType.INPUT;
    c.tabEnabled = true;
    // c.tabIndex = nIndex++;
    yy += 20;
    form.addChild(c);
}

function addCaption(sCaption:String)
{
    var c:TLFTextField = new TLFTextField();
    c.text = sCaption;
    c.autoSize = TextFieldAutoSize.LEFT;
    c.type = TextFieldType.DYNAMIC;
    c.tabEnabled = false;
    c.selectable = false;
    c.y = yy;
    yy += 20;
    form.addChild(c);
}

提前致谢

安德鲁

4

0 回答 0