FireFox: event handling problem

S

StepanM

Problem with event handling in FireFox. I have two controls on HTML
page: ListBox and TextBox (<select> and <input>). Both controls have
event "onchange" and functions for this event (e.g. select_onchange
and text_onchage). If I select item in ListBox, than I enter text in
TextBox, and than I finally select other item in ListBox, then both
events fires simultaneously (it can be checked up, if in both
functions write a corresponding "alert", both alerts appear
simultaneously). How to solve this problem?
It is very important.

Thanks
 
D

David Mark

Problem with event handling in FireFox. I have two controls on HTML
page: ListBox and TextBox (<select> and <input>). Both controls have
event "onchange" and functions for this event (e.g. select_onchange
and text_onchage). If I select item in ListBox, than I enter text in
TextBox, and than I finally select other item in ListBox, then both
events fires simultaneously (it can be checked up, if in both
functions write a corresponding "alert", both alerts appear
simultaneously). How to solve this problem?
It is very important.

It is very important to realize that displaying an alert after a
change or blur event makes for an annoying and error-prone interface
(so don't do it.) Use the containing form's submit event for
validation.
 
T

The Natural Philosopher

StepanM said:
Problem with event handling in FireFox. I have two controls on HTML
page: ListBox and TextBox (<select> and <input>). Both controls have
event "onchange" and functions for this event (e.g. select_onchange
and text_onchage). If I select item in ListBox, than I enter text in
TextBox, and than I finally select other item in ListBox, then both
events fires simultaneously (it can be checked up, if in both
functions write a corresponding "alert", both alerts appear
simultaneously). How to solve this problem?
It is very important.

I have noted that..the onchange() doesn't trigger until you change
focus to another bit of the screen in some browsers in some situations.

I think I fixed it once by using onmouseout() and then checking which
option was selected, and if it wasn't already selected, triggering the
script I wanted.
 
D

David Mark

I have noted that..the onchange()  doesn't trigger until you change
focus to another bit of the screen in some browsers in some situations.

I think I fixed it once by using onmouseout() and then checking which
option was selected, and if it wasn't already selected, triggering the
script I wanted.

That would assume that a pointing device is in use. In any event, I
wouldn't recommend such an approach.
 
R

RobG

Problem with event handling in FireFox. I have two controls on HTML
page: ListBox and TextBox (<select> and <input>). Both controls have
event "onchange" and functions for this event (e.g. select_onchange
and text_onchage). If I select item in ListBox, than I enter text in
TextBox, and than I finally select other item in ListBox, then both
events fires simultaneously (it can be checked up, if in both
functions write a corresponding "alert", both alerts appear
simultaneously). How to solve this problem?
It is very important.

Onchange can be difficult to program - it is supposed to fire when an
element loses focus, but some browsers don't wait for that for some
form controls while others do.

I expect what is happening in your case is that when you click on the
select the second time, that is when the text area loses focus and
fires its onchange event. Displaying the alert probably causes the
select to lose focus with perhaps a different option selected so it
too fires its onchange event.

You need to investigate using a different event for one or perhaps
both controls. Without knowing what you are actually trying to do, a
more precise solution can't be suggested.

Do you have a small example you can post, along with a description of
what you want to happen?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,754
Messages
2,569,527
Members
44,999
Latest member
MakersCBDGummiesReview

Latest Threads

Top