2011-02-17 2 views
0

내 사이트에 AS2를 통해 텍스트 입력이 생성 된 연락처 양식이 있습니다. 이 잘 작동하지만 탭 기능을 작동시키지 (또는 어떤 영향을) 심지어 내가 할 상관없이 얻을 수 없습니다. 때때로 상단에는, 때로는 왼쪽에, 때로는 아래에 표시되는 메뉴가 있습니다. 상단 또는 하단에있는 경우 양식 탭이 제대로 작동하지만면이 아래쪽에 있으면 contact_name 필드의 탭에서 8 번째 메뉴 옵션, 9 번째 메뉴 옵션, 다음 contact_emailfield, contact_messagefield로 이동합니다. 마찬가지로 메뉴 상단에서 탭을 누르면 메뉴 옵션 7, 다음으로 contact_name 필드, 메뉴 옵션 8, 메뉴 옵션 9, contact_emailfield, contact_messagefield 순차적으로 이동합니다. 나는이 일을 바꿀 수있는 방법을 찾지 못한다. 페이지의 다른 모든 요소에 대해 tabenabled = false를 설정하는 것을 피할 것이다. (여전히 탭으로 표시되기를 좋아하지만) 나는 생각하지 않는다. 이것은 내가 지정한 tabindexes가 아무런 영향을 미치지 않는 것처럼 보입니다. 아무리 큰 값을 넣어도 탭 순서는 항상 똑같습니다. 나는 다음과 같은 코드를 사용하고 있으며 누군가가 내가 잘못한 것을 지적 할 수 있다면 너무 감사하게 생각한다.tabindex가 문의 양식에서 작동하지 않습니다 (Flash AS2 사용)

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; 
로 지금 당신의 도움이 모든 사람들에게 너무 많은

감사합니다,

데이브

나는,이 스레드 내에서는 tabIndex가 작동하지 않는 이유를 찾고,이 문제가 해결되지 수 있습니다 발견

답변

3

하지만, 어도비 웹 사이트 : "tabIndex 속성은 양의 정수 여야합니다". 첫 번째 인덱스는 0이 아닌 음수가 아닌 양수입니다. 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); 
} 
에서 시작하십시오