User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:18.104.22.168) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7
Build Identifier: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:22.214.171.124) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7
I have a web app that allows you to select some items from a list and then press a 'do stuff' button.
The list is refreshed every x minutes by means of a <meta> header.
The problem is, in Firefox, if the refresh comes the form remembers the checkboxes that were ticket. Apparently it does so based on the order of the boxes of the form and not on the id or value of the boxes.
Example: you have a list of fruit:
You select Apples and Oranges. The refresh comes, it adds Grapes between Bananas and Oranges.
The expected behavior would be that Apples and Oranges stay selected.
The observed behavior is that Apples and Grapes are now selected.
The issue is of course that if you click the 'Do Stuff' button just before a refresh, or just in general are doing some research while making your selections, you might end up doing stuff on fruit you did not select.
Steps to Reproduce:
1. go to the URL http://beefreeit.nl/cgi-bin/fruitform.pl
2. Select bananas and lemons
3. Wait until the refresh comes
Some random other fruit, in the positions of the old fruit, is selected
the form is refreshed, but the same checkboxes for bananas and lemons stay selected.
I can confirm that the bug is still there in 3.6.13 on Linux.
This is still a problem in firefox 4.01
A good description of the result is found at http://www.ryancramer.com/journal/entries/radio_buttons_firefox/
I'm mostly certain this has nothing to do with the form manager. I think this is actually related to how session history serializes the form state.