This fails in IE8 RC1 as well. The problem occurs in
jQuery.makeArray
. It is passed the form's elements collection and tries to get the length property, but ends up getting the input element with id="length" instead. As a result it doesn't return an array with the form elements.
This case even confuses the IE8 debugger! At the top of makeArray it shows the array.length==2 in the debugger, but as soon as the line
i = array.length
executes it shows the length as an HTMLInput element.
Grabbing the elements using a selector seems like a possible workaround, at least it worked for this particular case:
< return this.elements ? jQuery.makeArray(this.elements) : this;
> return this.elements ? jQuery.makeArray(jQuery(":input", this)) : this;
This fails in IE8 RC1 as well. The problem occurs in
. It is passed the form's elements collection and tries to get the length property, but ends up getting the input element with id="length" instead. As a result it doesn't return an array with the form elements.This case even confuses the IE8 debugger! At the top of makeArray it shows the array.length==2 in the debugger, but as soon as the line
executes it shows the length as an HTMLInput element.Grabbing the elements using a selector seems like a possible workaround, at least it worked for this particular case: