tabindex无法以联系方式工作(使用Flash AS2)

时间:2011-02-17 12:13:11

标签: flash actionscript actionscript-2 tabindex

我的网站上有一个联系表单,其中的文本输入是通过AS2创建的。这工作正常,但无论我做什么,我都无法使标签工作(甚至没有任何效果)。我有一个菜单有时会显示在顶部,有时显示在左侧,有时显示在底部。如果它位于顶部或底部,则表单标签工作正常,但如果它在侧面,那么当我从contact_namefield选项卡时,它会转到第8个菜单选项,然后是第9个菜单选项,然后是contact_emailfield,然后是contact_messagefield。类似地,如果i从菜单顶部开始按顺序向下移动到菜单选项7,然后是contact_namefield,然后是菜单选项8,然后是菜单选项9,然后是contact_emailfield,然后是contact_messagefield。我不能为我的生活找出如何改变这一点,我宁愿避免为页面上的每个其他元素设置tabenabled = false(因为我仍然希望这些元素被标记),但无论哪种方式我都不认为这将修复它,因为我指定的tabindexes似乎根本没有任何影响,无论我放入什么值(即使我反转它们)Tab键顺序总是完全相同。我正在使用下面的代码,如果有人能够指出我做错了什么,我会非常感激,因为我无法为我的生活弄明白这一点!

var currfont=_root.textfont;
var inputcol = "0x" + _root.textcolour;
var my_fmt:TextFormat = new TextFormat();
my_fmt.bold = false;
my_fmt.font = "Arial";
my_fmt.color = inputcol;

createTextField("contact_namefield", getNextHighestDepth(),112.6, 29, 174, 20);
contact_namefield.wordWrap = true;
contact_namefield.multiline = false;
contact_namefield.border = true;
contact_namefield.borderColor = inputcol;
contact_namefield.type = "input";
contact_namefield.setNewTextFormat(my_fmt);
contact_namefield.text = "";
contact_namefield.tabEnabled=true;
contact_namefield.tabindex = 0;

createTextField("contact_emailfield", getNextHighestDepth(),112.6, 74, 174, 20);
contact_emailfield.wordWrap = true;
contact_emailfield.multiline = false;
contact_emailfield.border = true;
contact_emailfield.borderColor = inputcol;
contact_emailfield.type = "input";
contact_emailfield.setNewTextFormat(my_fmt);
contact_emailfield.text = "";
contact_emailfield.tabEnabled=true;
contact_emailfield.tabindex = 1;

createTextField("contact_messagefield", getNextHighestDepth(),112.6, 120.3, 174, 125.6);
contact_messagefield.wordWrap = true;
contact_messagefield.multiline = false;
contact_messagefield.border = true;
contact_messagefield.borderColor = inputcol;
contact_messagefield.type = "input";
contact_messagefield.setNewTextFormat(my_fmt);
contact_messagefield.text = "";
contact_messagefield.tabEnabled=true;
contact_messagefield.tabindex = 2;

非常感谢大家的帮助,

戴夫

2 个答案:

答案 0 :(得分:3)

我发现这个帖子正在搜索我的tabIndex无法正常工作的原因,这可能无法解决您的问题,但是来自adobe网站:“tabIndex属性必须是正整数”。你的第一个索引为0,这是非负的,但不是正的。尝试从1开始。

答案 1 :(得分:1)

{tabIndex}而非{tabindex}

var currfont=_root.textfont;
var inputcol = "0x" + _root.textcolour;
var my_fmt:TextFormat = new TextFormat();
my_fmt.bold = false;
my_fmt.font = "Arial";
my_fmt.color = inputcol;
myTxt=["contact_namefield", "contact_emailfield", "contact_messagefield"];
createTextField(myTxt[0], getNextHighestDepth(),112.6, 29, 174, 20);
createTextField(myTxt[1], getNextHighestDepth(),112.6, 74, 174, 20);
createTextField(myTxt[2], getNextHighestDepth(),112.6, 120.3, 174, 125.6);

for (var x=0; x< myTxt.length; x++) {
    eval(myTxt[x]).wordWrap = true;
    eval(myTxt[x]).multiline = false;
    eval(myTxt[x]).border = true;
    eval(myTxt[x]).borderColor = inputcol;
    eval(myTxt[x]).type = "input";
    eval(myTxt[x]).setNewTextFormat(my_fmt);
    eval(myTxt[x]).text = "";
    eval(myTxt[x]).tabEnabled=true;
    eval(myTxt[x]).tabIndex = x;//or (x+1);
}