2012-06-06 5 views
0

사용자가 먼저 10 개의 입력 상자 중 하나를 클릭하여 초점을 맞추어야하는 간단한 온 스크린 키보드를 구현 한 다음 화면상의 키보드를 사용하여 집중된 글자를 추가해야합니다 입력.Internet Explorer에서 온 스크린 키보드가 작동하지 않습니다.

IE (7, 8 및 9)에서 입력 상자가 포커스를 얻으려고 할 때마다 매번 5 번째 입력 상자에 글자가 추가된다는 문제가 있습니다.

아무도 이유가 무엇인지 명확히 할 수 있습니까?

다음은 Chrome 및 Firefox에서 완벽하게 작동하는 코드를 제공합니다.

<img onClick='addIt("q")' src = 'images/alphabet/q.png' style='width:50px;height:50px;cursor:pointer'></div> 

이미지를 클릭하면, 그 아래 정의 된 "되어온 ('Q')의"JS 함수를 호출 다음에서 InputBox, 클릭 할 때

function addIt(key){ 
    selectedElement = (document.forms["foo"].elements["focusedField"].value!='')?document.forms["foo"].elements["focusedField"].value:"bar"; 
    d = document.forms["foo"].elements[selectedElement]; 
    d.value = d.value + key; 
} 

focusedField가 할당 된 필요한 기능에 대한 암호 유형입니다 (사용자가 입력하는 내용을 보지 않아야 함).

<input type='password' name='4_1' id = '4_1' onFocus='document.forms["foo"].elements["focusedField"].value = this.name'/> 

답변

0

숫자로 시작하는 필드 이름을 사용하고 있기 때문입니다.

document.forms["foo"].elements["4_1"]을 사용하면 Internet Explorer에서이를 document.forms["foo"].elements[4]으로 해석하고 양식의 다섯 번째 요소를 제공합니다. 나는이 달 전에 게시했습니다 실현

<input type='password' name='x4_1' id='x4_1' ... 
+0

,하지만 정말 나에게 도움이 내가 당신을 감사하지 :

는 것처럼, 문자로 필드 이름을 시작합니다. 그래서 거기에 ... 정말 고마워. –

관련 문제