--- hierarchical_select_formtoarray.js1 2008-06-27 00:55:05.000000000 +0300 +++ hierarchical_select_formtoarray.js 2009-07-20 21:32:22.000000000 +0300 @@ -26,7 +26,12 @@ var form = this[0]; var els = semantic ? form.getElementsByTagName('*') : form.elements; if (!els) return a; - for(var i=0, max=els.length; i < max; i++) { + // We don't use form.elements.length here because IE6/7 fails + // when form item with name "length" exists. + for (var i=0; ; i++) { + if (typeof(els[i]) == 'undefined') { + break; + } var el = els[i]; var n = el.name; if (!n) continue; @@ -50,7 +55,10 @@ if (!semantic && form.clk) { // input type=='image' are not found in elements array! handle them here var inputs = form.getElementsByTagName("input"); - for(var i=0, max=inputs.length; i < max; i++) { + for(var i=0; ; i++) { + if (typeof(inputs[i]) == 'undefined') { + break; + } var input = inputs[i]; var n = input.name; if(n && !input.disabled && input.type == "image" && form.clk == input)