Welcome to WebmasterWorld Guest from

Forum Moderators: open

Message Too Old, No Replies

onfocus and onblur events don't work correctly



1:44 pm on Sep 9, 2009 (gmt 0)

10+ Year Member

I have a page with a textbox that I want to have a message written inside it that will dissapear when the user clicks in the text box and writes something and it will show up again if the user clicks somewhere else but hasn't written anything inside the textbox. So I am using the onfocus event in order to write "Enter your email here" and the onfocus event in order to show the "Enter your email here" message inside the textbox if the user clicks somewhere else in the webpage but has left the textbox blank. If however the user has written, for example "jim@yahoo.com", I want this to remain in the textbox.
What am I doing wrong?

<script language="javascript" type="text/javascript">

function clearPassword()
document.getElementById('sample').setAttribute('class', 'empty');
document.getElementById('sample').value = '';

function restorePassword()
var given_text= document.getElementById('sample').value;

if (given_text='')
document.getElementById('sample').setAttribute('class', 'grayedOut');
document.getElementById('sample').value = 'Enter your email';
document.getElementById('sample').setAttribute('class', 'empty');
document.getElementById('sample').value = given_text;
<form >
<input id="sample" type="text" value="Enter your email" size="22" class="grayedOut" onfocus="javascript:clearPassword();" onblur="javascript:restorePassword();"/>
<input id="new" type="text"/>


2:42 am on Sep 10, 2009 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member

if (given_text='')
if (given_text==='')

also setAttribute('class', ... ) is problem with some browsers

function restorePassword() {
var el = document.getElementById('sample');
if (el.value === '') {
el.className = 'grayedOut';
el.value = 'Enter your email';
} else { el.className = 'empty'; } // is else required ?


Featured Threads

Hot Threads This Week

Hot Threads This Month