0

私のサイトには、テキスト入力が AS2 経由で作成される連絡先フォームがあります。これは正常に機能しますが、何をしてもタブを機能させることはできません (または効果さえありません)。上部、左側、下部に表示されるメニューがあります。上部または下部にある場合、フォームのタブ移動は正常に機能しますが、側面にある場合、contact_namefield からタブ移動すると、8 番目のメニュー オプション、9 番目のメニュー オプション、contact_emailfield、contact_messagefield に移動します。同様に、メニューの上部からタブで移動すると、メニュー オプション 7、contact_namefield、メニュー オプション 8、メニュー オプション 9、contact_emailfield、contact_messagefield の順に下に移動します。どうやってこれを変えるかは一生分からないので、ページ上の他のすべての要素に tabenabled=false を設定することは避けたいと思いますが (これらをタブ付きにしたいので)、どちらにしても、指定したタブインデックスがどんな値を入力しても(逆にしても)、タブの順序は常にまったく同じです。私は次のコードを使用していますが、私の人生では理解できないので、誰かが私が間違っていることを指摘できればとても感謝しています!

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;

いつもお世話になっております皆様、

デイブ

4

2 に答える 2

3

このスレッドで、tabIndex が機能しない理由を検索していることがわかりました。これで問題が解決しない可能性がありますが、Adobe Web サイトから:「tabIndex プロパティは正の整数である必要があります」。最初のインデックスは 0 です。これは負ではありませんが、正ではありません。1から始めてみてください。

于 2011-07-01T15:49:40.380 に答える
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);
}
于 2015-12-06T19:56:11.243 に答える