Próbuję ustawić domyślny fokus na polu wprowadzania podczas ładowania strony (przykład: google). Moja strona jest bardzo prosta, ale nie wiem, jak to zrobić.
Oto, co mam do tej pory:
<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>
Dlaczego to nie działa, skoro działa dobrze?
<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>
Pomoc jest bardzo ceniona :-)
Możesz też użyć atrybutu autofocus HTML5 (działa we wszystkich obecnych przeglądarkach oprócz IE9 i starszych). Wywołuj swój skrypt tylko wtedy, gdy jest to IE9 lub starsza wersja lub starsza wersja innych przeglądarek.
źródło
autofocus
nie jest obsługiwany w przeglądarce Internet Explorer 9 i wcześniejszych wersjach.Jest to jeden z typowych problemów z IE, a rozwiązanie tego problemu jest proste. Dodaj dwukrotnie .focus () do wejścia.
Naprawić :-
I wywołaj FocusOnInput () na $ (dokument) .ready (function () {.....};
źródło
Możesz również użyć:
A potem w twoim JavaScript:
źródło