Re: IE doesn't preserve changes made by javascript when Back button is clicked
- From: "Richard Maher" <maher_rj@xxxxxxxxxxxxxxxxxx>
- Date: Mon, 2 Apr 2007 10:53:58 +0800
Hi,
"shimmyshack" <matt.farey@xxxxxxxxx> wrote in message
news:1175476498.535634.270050@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On 2 Apr, 02:02, lucy...@xxxxxxxxx wrote:noticed
On Mar 31, 6:30 am, "shimmyshack" <matt.fa...@xxxxxxxxx> wrote:
On 31 Mar, 06:28, lucy...@xxxxxxxxx wrote:
Hi,
In one of my pages, I usejavascript(AJAX) to populate one mulitple
select field based on user's click event on another control. I
(Itthat when I navigatebackto this page by clicking browser's "Back"
button, the changes made to the multiple select is not preserved.
clickingback. This way whether they pressback, or browse around suddenly toshows the initial value). While all the other user selections are
preserved.
Firefox seems fine.
How do I workaround this issue for IE?
Thanks!
Lucy
You notice that in /your/ browsers (versions x on OS y) the field
values are preserved, this is not guaranteed behaviour for many
browsers.
If this page forms part of a multiple form, then clickingbackcould
weel be part of the "expected usage" for a user, otherwise I would say
once submitted, I don't mind if the values are not there.
You could use an onload to see if the user has set the preference for
the control that is preserved, and use that to populate the multiple
select. (if that is what you mean by initial value)
The alternative is to actually use server side code to force every
browser to be consistent by hard coding into the markup the (filtered
and validated) results of the submission the user made before
signbackin after a crash, you could use the use the orphaned values fromother parts of the site without completely filling in the form, and
then decide to gobackand carry on fillin gin the form, they will be
plesantly surprised.
Of course there are more cases that this, if the user isn't known to
you (not logged in) and their browser crashes, or if the user kills
the browser, then firefox mightpreservethe data if you are lucky
whereas ie won't, you can get round this by setting a cookie which
contains the values that have been filled so far, and that the server
hasn't told the user-agent to delete from the cookie yet, this should
be a temporary cookie. If your user is known to you, when they
their last session (if you code a bit of server logic) to allow them
to resume, again something to watch in terms of security, but it is
similar to "remember me" but with less scope and therefore less
surface area of attack.
Thanks for your response.
The problem is IE remembers the user's selection, but the
corresponding modification using javascript is lost. Which causes
mismatched information on my page.
For example, I have two dropdown lists. Based on user's selection on
dropdown#1, I search the database and populate dropdown#2. This works
fine until user navigate back to this page using "back" button. The
selection of dropdown#1 is preserved, but the content in dropdown#2 is
set back to the default values.
I tried to use server side script, but this makes the page extremely
complicated, which I thought this is a perfact place to use AJAX...
so did you try the onload?
What you need to do is use server sessions to set the initial values
of the form fields when the page loads. The same ajax scripts, just
with an init method instead of assuming the user hasn't been before.
The server session simply puts its value in that javascript. 2 lines
of code, perhaps 1
FWIW, if you use Frames, when you "go back" (hide the second frame and make
the first frame visible again) all is as you left it, or as page 2's
javascript modified it, as the case may be.
Cheers Richard Maher
.
- Follow-Ups:
- Re: IE doesn't preserve changes made by javascript when Back button is clicked
- From: Hardono Arifanto
- Re: IE doesn't preserve changes made by javascript when Back button is clicked
- References:
- Prev by Date: Re: IE doesn't preserve changes made by javascript when Back button is clicked
- Next by Date: can't access the form object in popup
- Previous by thread: Re: IE doesn't preserve changes made by javascript when Back button is clicked
- Next by thread: Re: IE doesn't preserve changes made by javascript when Back button is clicked
- Index(es):