Revision: 25269
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at March 25, 2010 04:32 by cfleschhut
Initial Code
function initOverLabels() {
var labels, id, field;
labels = document.getElementsByTagName("label");
for(var i=0; i<labels.length; i++) {
if (labels[i].className == "overlabel") {
id = labels[i].htmlFor || labels[i].getAttribute("for");
if (!id || !(field = document.getElementById(id))) {
continue;
}
labels[i].className = "overlabel-apply";
if (field.value != "") {
hideLabel(field.getAttribute("id"), true);
}
field.onfocus = function() {
hideLabel(this.getAttribute("id"), true);
}
field.onblur = function() {
if (this.value == "") {
hideLabel(this.getAttribute("id"), false);
}
}
}
}
}
function hideLabel(field_id, hide) {
var field_for;
var labels = document.getElementsByTagName("label");
for(var i=0; i<labels.length; i++) {
field_for = labels[i].htmlFor || labels[i].getAttribute("for");
if (field_for == field_id) {
labels[i].style.textIndent = (hide) ? "-9999px" : "0";
}
}
}
window.onload = function() {
initOverLabels();
}
form#login {
position: relative;
}
div#username, div#password {
position: relative;
float: left;
margin-right: 3px;
}
input#username-field, input#password-field {
width: 10em;
}
label.overlabel {
}
label.overlabel-apply {
position: absolute;
top: 3px;
left: 5px;
z-index: 1;
}
<form name="login" action="#" method="post">
<div id="username">
<label for="username-field" class="overlabel">Username</label>
<input id="username-field" type="text" name="username" title="Username" value="" tabindex="1" />
</div>
<div id="password">
<label for="password-field" class="overlabel">Password</label>
<input id="password-field" type="password" name="password" title="Password" value="" tabindex="2" />
</div>
<div id="submit">
<input type="submit" name="submit" value="Login" tabindex="3" />
</div>
</form>
Initial URL
http://jsfiddle.net/rYp59/3/
Initial Description
adopted from: http://www.alistapart.com/articles/makingcompactformsmoreaccessible/
Initial Title
Accessible Compact Forms
Initial Tags
css, javascript, html, forms
Initial Language
JavaScript