I've been developing a web app for the last 6 months (it hasn't really been full time for 6 months, but I started over 6 months ago now) at work. It's just now gone to testing. Testing is interesting, because it's uncovering all sorts of weird issues with developing on non-IE (mostly Safari and Camino), and shipping to testers who all use IE.
The biggest pain right now is what happens in IE when you hit enter in a text field.
See I have a layout like this:
[Button] [Button] [SearchEntry] [SearchButton]
[Checkbox]
[Checkbox]
...
[Button] [Button]
Now in all browsers apart from IE, when you hit enter in the search entry box, it acts like hitting the first button on the form. But in IE it submits the form as though no buttons at all were clicked (i.e. you get no key/value pairs for any of the buttons). This is extremely weird.
What I really wanted was for hitting enter to act as though the SearchButton was hit. In all non-IE browsers I could achieve this by embedding a form within the outer form. Unfortunately this isn't valid HTML, and IE treats the first close form tag as closing the entire outer form, so IE sees a bunch of checkboxes and two buttons that aren't attached to any form at all. Obviously not good.
So what I'm going to have to do now is hack AxKit's PerForm taglib to pretend as though a button got hit if no button got hit. I guess I'll just pick the first button regardless. Very annoying.
Always have a default (Score:3, Informative)
-Dom
Reply to This
Hidden Fields (Score:4, Interesting)
Reply to This
Fun one! (Score:3, Informative)
Reply to This
Re:Fun one! (Score:2)
I think I now have a proper fix - a default form submit handler which points to my search routine. I've released AxKit::XSP::PerForm 1.83 to CPAN to deal with this situation.