2013-03-13 7 views
0

온라인 요청 양식의 전화 번호 필드에 서로 2 개의 텍스트 상자가 있습니다.첫 번째 텍스트 상자의 값이 maxLenght = 3 인 경우 두 번째 텍스트 상자로 포커스를 이동하는 방법

첫 번째 텍스트 상자의 최대 길이는 3이므로 사용자가 값을 입력 한 후에 두 번째 텍스트 상자에 집중해야합니다.

이 입력 기능을 입력란에 추가했지만 하나의 값만 허용 한 다음 두 번째 입력란에 이미 초점을 맞추고 있습니다.

onkeypress="if(value.lenght==3)return false; 
      document.getElementById('TelNumber2').focus();" 

은 나도이 기능을 시도했지만 같은 이러한 내 텍스트 상자입니다

onkeypress="if(event.keyCode==3)return false; 
      document.getElementById('TelNumber2').focus();" 

을 발생합니다

첫 번째 텍스트 상자 :

input type="textbox" id="TelNumber1" name="TelNumber1" value="" maxLenght="3" 
style="width:40px; border: 1px solid #b5b6b5" size="3" 
onKeyDown="limitText(this,3);" onKeyUp="MaxText(this,3);" /> 

두 번째 텍스트 상자 :

input type="textbox" id="TelNumber2" name="TelNumber2" value="" maxLenght="7" 
style="width:115px; border: 1px solid #b5b6b5" size="7" 
onKeyDown="MaxText(this,7);" onKeyUp="MaxText(this,7);" /> 

어떤 도움

Camerone

+1

철자 길이가 잘못되었습니다. – GJK

답변

0

당신이 포커스를 설정하기 전에 당신은 다시 반환하는 진가를 알아볼 것입니다. 따라서 포커스를 설정하는 코드 (예 : document.getElementById('TelNumber2').focus();)가 전혀 호출되지 않습니다.

다음을 시도해보십시오. return 문을 사용하지 마십시오.

onkeypress="if(value.length==3) document.getElementById('TelNumber2').focus();" 

건배! :)

+0

답장을 보내 주셔서 감사합니다. return 문을 제거했지만 더 이상 다음 텍스트 상자로 포커스를 이동하지 않습니다. 첫 번째 텍스트 상자에 그대로 있습니다. 이 함수는 이제 다음과 같습니다. onkeypress = "if (value.lenght == 3) document.getElementById ('TelNumber2'). focus();" 너무 사용했습니다 onkeypress = "if (event.keyCode == 3) document.getElementById ('TelNumber2'). focus();" – camzie

1

철자 길이가 잘못되었습니다. 이것은 잘 작동합니다.

<input onkeyup='if (this.value.length >= 3) { document.getElementById("TelNumber2").focus(); }' /> 

편집 : 정정. 코드가 그와 같은 속성에있는 것처럼 보이면 this을 사용할 필요가 없습니다. value은 이미 범위에 있습니다.

+0

이제 작동합니다! 도움을 주셔서 대단히 감사합니다. 카메론 – camzie