2010-08-01 8 views
80

페이지로드시 기본 입력란 (예 : Google)에 포커스를 설정하려고합니다. 내 페이지가 단순하지만 아직 어떻게하는지 알 수 없습니다. 이 잘 작동하는 동안페이지의 HTML 입력 상자에 포커스 설정하기

<html> 
<head> 
<title>Password Protected Page</title> 

<script type="text/javascript"> 
function FocusOnInput() 
{ 
document.getElementById("PasswordInput").focus(); 
} 
</script> 

<style type="text/css" media="screen"> 
    body, html {height: 100%; padding: 0px; margin: 0px;} 
    #outer {width: 100%; height: 100%; overflow: visible; padding: 0px; margin: 0px;} 
    #middle {vertical-align: middle} 
    #centered {width: 280px; margin-left: auto; margin-right: auto; text-align:center;} 
</style> 
</head> 
<body onload="FocusOnInput()"> 
<table id="outer" cellpadding="0" cellspacing="0"> 
    <tr><td id="middle"> 
    <div id="centered"> 
    <form action="verify.php" method="post"> 
    <input type="password" name="PasswordInput"/> 
    </form> 
    </div> 
    </td></tr> 
</table> 
</body> 
</html> 

어떻게 작동하지 않는 올 :

이것은 내가 지금까지있어 무엇인가?

<input type="password" name="PasswordInput"/> 

그래서 같은 ID 속성이 있어야합니다 :

<html> 
<head> 
<script type="text/javascript"> 
function FocusOnInput() 
{ 
    document.getElementById("InputID").focus(); 
} 
</script> 
</head> 

<body onload="FocusOnInput()"> 
    <form> 
     <input type="text" id="InputID"> 
    </form> 
</body> 

</html> 

도움이 많이이 줄은

답변

33

:-) 감사

<input type="password" name="PasswordInput" id="PasswordInput"/> 
271

을 그리고 당신은 사용할 수 있습니다 HTML5의 자동 초점 속성 (IE9 및 bel를 제외한 현재의 모든 브라우저에서 작동 함) 아우). IE9 이전 버전이거나 다른 브라우저의 이전 버전 인 경우에만 스크립트를 호출하십시오.

function focusOnInput() { 
    document.forms["passwordForm"]["passwordInput"].focus(); 
} 
+24

는 "현재의 모든 브라우저에서 작동"- 그 실제로 "모든 현재 브라우저"의 정의에 따라 달라집니다. –

+7

ie9 : http://stackoverflow.com/questions/8280988/how-to-make-input-autofocus-in-internet-explorer – jedierikb

+0

@BhaveshGangani ['autofocus' is is Internet Explorer 9 및 이전 버전에서는 지원되지 않습니다.] (http://www.w3schools.com/tags/att_input_autofocus.asp) –

0

당신은 또한 사용할 수 있습니다. .focus()를 입력에 두 번 추가하십시오.

수정 : -

function FocusOnInput() { 
    var element = document.getElementById('txtContactMobileNo'); 
    element.focus(); 
    setTimeout(function() { element.focus(); }, 1); 
} 

그리고 $에 FocusOnInput()를 호출 (문서) .ready (함수() {.....};

2

이 IE와 일반적인 문제 중 하나이며이 간단 정하는 : 자바 스크립트에

<body onload="focusOnInput()"> 
    <form name="passwordForm" action="verify.php" method="post"> 
     <input name="passwordInput" type="password" /> 
    </form> 
</body> 

그리고 다음을 :

<input type="text" name="fname" autofocus>