tabindex не работает в контактной форме (с использованием Flash AS2)

У меня есть контактная форма на моем сайте, для которой текстовые вводы создаются через AS2. Это отлично работает, но я не могу заставить работать табуляцию (или даже иметь какой-либо эффект), независимо от того, что я делаю. У меня есть меню, которое иногда отображается вверху, иногда слева, а иногда внизу. Если он находится вверху или внизу, то вкладка формы работает нормально, однако, если она находится внизу, то, когда я вхожу в поле contact_namefield, он переходит к 8-му пункту меню, затем к 9-му пункту меню, затем к contact_emailfield, затем к contact_messagefield. Точно так же, если я перехожу на вкладку в верхней части меню, она последовательно переходит к пункту меню 7, затем к поле_имя_контакта, затем к пункту меню 8, затем к пункту меню 9, затем к контактному_электронному полю, затем к контактному_сообщению. Я не могу на всю жизнь решить, как это изменить, я бы предпочел не устанавливать tabenabled=false для каждого другого элемента на странице (поскольку я все еще хочу, чтобы они были с вкладками), но в любом случае я не думаю это исправит это, поскольку указанные мной tabindexes, похоже, вообще не влияют, независимо от того, какие значения я ввел (даже если я их поменяю местами), порядок табуляции всегда одинаков. Я использую следующий код и был бы очень признателен, если бы кто-нибудь мог указать, что я делаю неправильно, поскольку я не могу понять это на всю жизнь!

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;

Большое спасибо за вашу помощь, как всегда всем,

Дэйв


person deshg    schedule 17.02.2011    source источник


Ответы (2)


Я нашел эту ветку в поисках причины, по которой мой tabIndex не работает, и это может не решить вашу проблему, но с веб-сайта Adobe: «Свойство tabIndex должно быть положительным целым числом». Ваш первый индекс равен 0, что неотрицательно, но не положительно. Попробуйте начать с 1.

person Rachael    schedule 01.07.2011

Это {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);
}
person TROUZINE Abdrrezak    schedule 06.12.2015