• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1483
  • Last Modified:

FireFox and selected on page refresh

Based on this simple code:

    <select>
          
        <option value="0">S1</option>
         <option value="2" selected>S2</option>
        <option value="3">S3</option>
       
    </select>

Both IE and FireFox make the default selected value 2 (like they should) but when the page is refreshed IE goes back to the value 2 but FireFox does not. FireFox remebers the value that was selected when the page was refreshed.

Anyone know how to make FF act like IE with this?

Thanks in advance.
0
thinksysinc
Asked:
thinksysinc
  • 3
1 Solution
 
jasonsbytesCommented:
This is a FF browser 'feature' that occurs when you do a 'soft' refresh (from the cache), if you force a hard refresh (reload from server) it acts the same.

You can force a hard refresh with 'ctrl+f5' instead of just 'f5'.

You can not control this from your code or html, it is something the user can configure in FF.  I must say, I rather LIKE the feature.
0
 
jasonsbytesCommented:
actually, i just did some searching and it seems some folks believe you can turn it off... so, give this a try and let me know what happens:

http://developer.mozilla.org/en/docs/How_to_Turn_Off_Form_Autocompletion

Hope it works!
0
 
thinksysincAuthor Commented:
jasonsbytes -

Yup you can turn it off. I tested it and it works.

I can see the good in having it remember the values but what I am doing right now it is causing me problems.

Either way, thanks for the help.
0
 
jasonsbytesCommented:
no problem, thanks for the fun question and points!!! :)

I actually learned something too!
0
 
neorushCommented:
A quick and dirty hack is to change the name of the form every time the page loads. Then FF resets all the form data to the defaults for instance:
<form name="testForm<?PHP echo rand(0,9999);?>">
<input type="text" value="test">
</form>

the other option is to set all the form data to defaults with JS, for instance:
<script language="Javascript">
window.onLoad = setTimeout("setdefaults()", 1000);
function setdefaults(){
  document.getElementById('testText').value = 'Default Value';
      
}
</script>
<form name="testForm">
<input type="text" name="testText" id="testText" value="test">

</form>
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now