我正在尝试在 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);
}
提前致谢
安德鲁