the value present in the element getting shifted from one input to another in firefox 20.0.1 if the label was added as innerhtml onload
If the below code was opened in firefox 20.0.1 and type some value in the text box. once after typing the value hit the browser refresh button. the typed value getting shifted from one input elelment to another.
<html> <head> <script> function searchPageLoader(){ document.getElementById('searchareaa').innerHTML='<label ></label>'; } </script> </head> <body onload="searchPageLoader()"> <div id="searchareaa"> </div> <input type="text" id="pageCount" value="5"/> <input type="text" id="startlimit" value="11"/> <input type="text" id="endlimit" value="5"/> </body> </html>
It is happening only in firefox and and only if we do the innerhtml .
http://stackoverflow.com/questions/16548778/firefox-simple-form-element-with-inner-html-bug
Modified
All Replies (3)
Would you mind installing Firefox 21 to see whether the problem still exists in today's release?
It seems that the missing <label> element causes Firefox to restore the non-default input value to the wrong input. As a "workaround", use <form> tags around your form elements. Then the values do not migrate on reload.
<!DOCTYPE html> <html> <head> <script type="text/javascript"> function searchPageLoader(){ document.body.style.backgroundColor = "#ffc"; document.getElementById('searchareaa').innerHTML='<label></label>'; } </script> </head> <body onload="window.setTimeout('searchPageLoader();', 500);"> <form><!-- To replicate the problem, remove this line --> <div id="searchareaa"></div> <input type="text" id="pageCount" value="5"> <input type="text" id="startlimit" value="11"> <input type="text" id="endlimit" value="5"> </form> </body> </html>
Note: This was in Firefox 20.0.1.
Modified
After further investigation, you might need to assign a name attribute to each form element for Firefox to associate the attributes with the correct fields. See: Random disabled Firefox 23.0.1 - mozillaZine Forums.