Enhancing Search (Input) Boxes Using JavaScript

Enhancing Search (Input) Boxes Using JavaScript


Time for some JavaScript action.


JavaScript as you know is a client-side web scripting language and is the best
choice for any client-side scripting application for the web. Today we’re
going to employ some basic and simple JavaScript methods to enhance a Search
(Input) Box as in the image above.


You’ve probably come across this type of Search Box before. In the text
box initially is written ‘Search’ or something of that sort but
as soon as you click or focus on it, the field becomes empty for you to type
in, again when it is left blank and focus is taken off it, field changes back
to have the initial text.


I don’t actually see a big enough reason why people employ this technique
but one common reason might be when there is not enough space to label the search
box, this technique can use the Text Box to label itself.


OK, enough discussion, now let’s have a look at the code:



<form action="SCRIPT-NAME" method="post">

<input type="text" value="Search..." name="search" 

    onfocus="if (this.value == 'Search...') {this.value = '';}" 

    onblur="if (this.value == '') {this.value = 'Search...';}" />

</form>



Here ‘onfocus’ and ‘onblur’ are JavaScript functions.
You can very well see that JavaScript code can be used anywhere directly along
with HTML.


The code employs a simple logic and I think is very easy to understand, the
only thing you’ve got to know is what ‘onblur’ and ‘onfocus’
mean. These are known as Event Handlers as they invoke contained code when respective
events occur.


Here as we are using those functions with respect to the Text Box, therefore,
obviously interaction is with the text box.


If you don’t fully understand, input box is given initial value ‘Search…’,
if on focus the value is the same, it’s changed to be empty. On the other
hand if it loses focus and the user has not typed anything into it, again its
value is set to be ‘Search…’, the initial value. In other
cases the input box behaves as normal to take user input.


Below I’ve placed a working Input Box designed as above for you to see
it in action:







[Note: I've styled the Input Box to look bigger than
usual..]


Previous Articles:


Check out this stream