Auto-Focus Form Elements with JavaScript
After digging through the WordPress source code, I stumbled upon this very useful JavaScript method for auto-focusing form elements upon page load. Here is the JavaScript code (place within the document head):
<script type="text/javascript">
function formfocus() {
document.getElementById('element').focus();
}
window.onload = formfocus;
</script>
…and corresponding (X)HTML markup (abbreviated for clarity):
<form>
<input id="element" />
<input />
<input />
</form>
In this example, the first form element (identified by id="element") will be automatically focused when the document loads, thus facilitating the process of entering data in the form. This technique would serve users well on login pages (wink, wink;), or anywhere forms are required on a repetitive basis.
Update: [ May 29th, 2007 ] - Here is a similar method of auto-focusing a form element with just a splash of JavaScript. Place the following code into an input element that contains a predefined field value and watch in amazement as the text string is automatically highlighted upon user focus. Here is the JavaScript snippet:
onfocus="this.select();"
..and here is a “live” example:
..and corresponding code:
<form action="http://domain.com/" method="post">
<div>
<input onfocus="this.select();" value="Select this input element and this text will be highlighted.." size="55" type="text">
</div>
</form>
Related articles
- One Link to Open Them All
- Maximum and Minimum Height and Width in Internet Explorer
- Prevent JavaScript Elements from Breaking Page Layout when Following Yahoo Performance Tip #6: Place Scripts at the Bottom
- Optimize Convoluted Code via JavaScript
- Auto Clear and Restore Form Elements
- Embed External Content via iframe and div
- Embed Flash and Video via the object Tag
About this article
This is article #250, posted by Perishable on Monday, December 04, 2006 @ 02:50pm. Categorized as Function, and tagged with code, forms, html, javascript, tips, tricks, xhtml. Updated on March 25, 2008. Visited 22942 times. 6 Responses »
1 • March 7, 2007 at 10:42 am — GasGiant says:
Since I use a common header for a number of PHP pages, some pages have forms while others do not. To keep from throwing an error on the pages where the element does not exist, I enclosed the focus() action inside an if() statement
function formfocus() {
if(document.getElementById(’element’)) {
document.getElementById(’element’).focus();
}
}
window.onload = formfocus;