Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > How to Capture onFocus event

Reply
Thread Tools

How to Capture onFocus event

 
 
Paresh Shah
Guest
Posts: n/a
 
      05-04-2004
Hi Friends...


I have an query on how to capture onFocus event for all the input
controls without writing onFocus event in the <input> tag.

say my html form has 3 or 4 or 5 input text boxes, now I want to
capture onFocus event for all the text boxes without writing onFocus
code in <input> tag.

for example:
<form name="frm1">
<input type="text" name="t1">
<input type="text" name="t2">
<input type="text" name="t3">
</form>

now in above example whenever user shifts the focus to input 1 i.e. t1
box, then some action should be taken say alert message is displayed,
then when focus shifts to input 2 i.e. t2 box, then same action is
displayed & alert message is displayed. for this I dont want to write
code given below:

<form name="frm1">
<input type="text" name="t1" onFocus="alert('hi')">
<input type="text" name="t2" onFocus="alert('hi')">
<input type="text" name="t3" onFocus="alert('hi')">
</form>



If some body could help me.....

Thanks in Advance

Regards
Paresh Shah
 
Reply With Quote
 
 
 
 
Berislav Lopac
Guest
Posts: n/a
 
      05-04-2004
Paresh Shah wrote:
> Hi Friends...
>
>
> I have an query on how to capture onFocus event for all the input
> controls without writing onFocus event in the <input> tag.


var inputs = frm1.getElementsByTagname('input');
for(var i=0; i < inputs.length; i++) b
inputs[i].onfocus = function {
alert('hi');
}
}

or

var inputs = frm1.getElementsByTagname('input');
inputs[0].prototype.onfocus = function {
alert('hi');
}


I didn't test those, and I might be a bot off with the syntax, but this is
the direction to look at.

Berislav

--
If the Internet is a Marx Brothers movie, and Web, e-mail, and IRC are
Groucho, Chico, and Harpo, then Usenet is Zeppo.


 
Reply With Quote
 
 
 
 
Michael Winter
Guest
Posts: n/a
 
      05-04-2004
On Tue, 4 May 2004 13:11:16 +0200, Berislav Lopac
<(E-Mail Removed)> wrote:

[snip]

> var inputs = frm1.getElementsByTagname('input');


var inputs = form.getElementsByTagName( 'INPUT' );

> for(var i=0; i < inputs.length; i++) b


for( var i = 0, n = inputs.length; i < n; ++i ) {

> inputs[i].onfocus = function {
> alert('hi');
> }


It would be best to use a single function and assign its reference, rather
than create an anonymous function for each element.

> }
>
> or
>
> var inputs = frm1.getElementsByTagname('input');


As above.

> inputs[0].prototype.onfocus = function {


I don't know how successful that will be. Some browsers may not provide a
prototype for the element. The single function argument above applies
here, too.

> alert('hi');
> }
>
> I didn't test those, and I might be a bot off with the syntax, but this
> is the direction to look at.


It's a shame that IE is such a pile of crap. If it supported event
capturing (as introduced in DOM 2 Events), this would be so much easier.

Mike

--
Michael Winter
http://www.velocityreviews.com/forums/(E-Mail Removed)d (replace ".invalid" with ".uk" to reply)
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
Custom ListControl OnFocus Event not working Scott Blood ASP .Net Building Controls 0 07-31-2006 10:04 AM
onfocus event for hyperlinks sybmathics Javascript 11 10-16-2005 09:19 PM
textbox onfocus event David Perez ASP .Net Web Controls 1 04-21-2005 07:54 PM
onFocus Event Refresh =?Utf-8?B?SSBhbSBTYW0=?= ASP .Net 1 04-21-2005 12:16 PM



Advertisments