(originally reported by alansingfield)
If you have an AsyncFileUpload control within a <DIV> that constrains its width, and set the Width attribute of the control to wider than its container, the script never completes in Firefox.
<div style="width:100px">
<asp:AsyncFileUpload runat="server" Width="1000px"/>
</div>
The problem is caused by this part of the script:
_app_onload: function(sender, e) {
...
if (Sys.Browser.agent == Sys.Browser.Firefox) {
this._inputFile.size = 0;
var width = this._inputFile.offsetWidth;
this._inputFile.style.width = "";
while (this._inputFile.offsetWidth < width) {
this._inputFile.size++;
The final while() loop never terminates.
I suggest that a sanity check is put in there - if the offsetWidth does not change value after incrementing size, the loop should terminate.
Alan Singfield.
Comments: Hi we are also having the exact problem for last 4 months in Firefox. When I debug the issue it shows stuck in the following block. if (Sys.Browser.agent == Sys.Browser.Firefox) { this._inputFile.size = 20; var width = this._inputFile.offsetWidth; this._inputFile.style.width = ""; while (this._inputFile.offsetWidth < width) { this._inputFile.size++; } } Values shown as width: 359 this._inputFile.offsetWidth: 235 this._inputFile.size: 1742518 I would really appreciate a fix for this as our customers are already annoyed by now.
If you have an AsyncFileUpload control within a <DIV> that constrains its width, and set the Width attribute of the control to wider than its container, the script never completes in Firefox.
<div style="width:100px">
<asp:AsyncFileUpload runat="server" Width="1000px"/>
</div>
The problem is caused by this part of the script:
_app_onload: function(sender, e) {
...
if (Sys.Browser.agent == Sys.Browser.Firefox) {
this._inputFile.size = 0;
var width = this._inputFile.offsetWidth;
this._inputFile.style.width = "";
while (this._inputFile.offsetWidth < width) {
this._inputFile.size++;
The final while() loop never terminates.
I suggest that a sanity check is put in there - if the offsetWidth does not change value after incrementing size, the loop should terminate.
Alan Singfield.
Comments: Hi we are also having the exact problem for last 4 months in Firefox. When I debug the issue it shows stuck in the following block. if (Sys.Browser.agent == Sys.Browser.Firefox) { this._inputFile.size = 20; var width = this._inputFile.offsetWidth; this._inputFile.style.width = ""; while (this._inputFile.offsetWidth < width) { this._inputFile.size++; } } Values shown as width: 359 this._inputFile.offsetWidth: 235 this._inputFile.size: 1742518 I would really appreciate a fix for this as our customers are already annoyed by now.