<div>Well this is just odd.</div>
<div> </div>
<div>When Firefox, Chrome and IE6 submit files-to-upload, the structure returned by $c-&gt;req-&gt;uploads is DIFFERENT for explorer -- it&#39;s an ARRAYREF instead of a HASHREF:</div>
<div><br></div><div><div>DB&lt;2&gt; x $c-&gt;req-&gt;uploads</div><div><b><span class="Apple-style-span" style="background-color: rgb(255, 255, 51);">0  HASH(0x9d04d20)</span></b></div><div>   &#39;<b><span class="Apple-style-span" style="background-color: rgb(255, 255, 51);">newatt[1]</span></b>&#39; =&gt; Catalyst::Request::Upload=HASH(0xb81a098)</div>
<div>      &#39;filename&#39; =&gt; &#39;<a href="http://japh.pl" target="_blank">japh.pl</a>&#39;</div>

<div>      &#39;headers&#39; =&gt; HTTP::Headers=HASH(0xb448c28)</div><div>         &#39;content-disposition&#39; =&gt; &#39;form-data; name=&quot;newatt[1]&quot;; filename=&quot;<a href="http://japh.pl" target="_blank">japh.pl</a>&quot;&#39;</div>


<div>         &#39;content-type&#39; =&gt; &#39;text/x-perl-script&#39;</div><div>      &#39;size&#39; =&gt; 104</div><div>      &#39;tempname&#39; =&gt; &#39;/tmp/6V0Vlas5td&#39;</div><div>      &#39;type&#39; =&gt; &#39;text/x-perl-script&#39;</div>


<div>   &#39;<b><span class="Apple-style-span" style="background-color: rgb(255, 255, 51);">newatt[2]</span></b>&#39; =&gt; Catalyst::Request::Upload=HASH(0xb448c88)</div><div>      &#39;filename&#39; =&gt; &#39;TODO&#39;</div>
<div>      &#39;headers&#39; =&gt; HTTP::Headers=HASH(0xb650140)</div><div>         &#39;content-disposition&#39; =&gt; &#39;form-data; name=&quot;newatt[3]&quot;; filename=&quot;TODO&quot;&#39;</div>

<div>         &#39;content-type&#39; =&gt; &#39;application/octet-stream&#39;</div><div>      &#39;size&#39; =&gt; 29</div><div>      &#39;tempname&#39; =&gt; &#39;/tmp/2RTgotIgut&#39;</div><div>      &#39;type&#39; =&gt; &#39;application/octet-stream&#39;</div>


<div><br></div>The same attempted upload for Explorer 8 looks like this instead:</div><div><br></div><div><div><b><span class="Apple-style-span" style="background-color: rgb(255, 255, 51);">0  ARRAY(0xab06360)</span></b></div>
<div><b><span class="Apple-style-span" style="background-color: rgb(255, 255, 51);">   0</span></b>  Catalyst::Request::Upload=HASH(0xb448c88)</div><div>      &#39;filename&#39; =&gt; &#39;<a href="http://japh.pl" target="_blank">japh.pl</a>&#39;</div>


<div>      &#39;headers&#39; =&gt; HTTP::Headers=HASH(0xb81a098)</div><div>         &#39;content-disposition&#39; =&gt; &#39;form-data; name=&quot;newatt[1]&quot;; filename=&quot;<a href="http://japh.pl" target="_blank">japh.pl</a>&quot;&#39;</div>


<div>         &#39;content-type&#39; =&gt; &#39;text/x-perl-script&#39;</div><div>      &#39;size&#39; =&gt; 104</div><div>      &#39;tempname&#39; =&gt; &#39;/tmp/3Tg94Iq85j&#39;</div><div>      &#39;type&#39; =&gt; &#39;text/x-perl-script&#39;</div>


<div><span class="Apple-style-span" style="background-color: rgb(255, 255, 51);">   </span><b><span class="Apple-style-span" style="background-color: rgb(255, 255, 51);">1</span></b>  Catalyst::Request::Upload=HASH(0xb448c28)</div>
<div>      &#39;filename&#39; =&gt; &#39;TODO&#39;</div><div>      &#39;headers&#39; =&gt; HTTP::Headers=HASH(0xb448c88)</div><div>         &#39;content-disposition&#39; =&gt; &#39;form-data; name=&quot;newatt[3]&quot;; filename=&quot;TODO&quot;&#39;</div>


<div>         &#39;content-type&#39; =&gt; &#39;application/octet-stream&#39;</div><div>      &#39;size&#39; =&gt; 29</div><div>      &#39;tempname&#39; =&gt; &#39;/tmp/T2r9F7Ex11&#39;</div><div>      &#39;type&#39; =&gt; &#39;application/octet-stream&#39;</div>


<div><br></div><div>The structure of each node is the same, but as a whole the upload-list switches internally from a HASHREF to an ARRAYREF. IE6, FireFox, Chrome all bring in the Hashref, but IE8 brings in an Arrayref.</div>


<div><br></div><div>On top of that, if there&#39;s just one upload, it&#39;s not even an array, it&#39;s just the node itself.</div><div><br></div><div>What the heck? Sure seems odd to offer a different storage structure based on browser-platform...</div>
<div><br></div> </div>
<div class="gmail_quote">On Wed, Oct 6, 2010 at 8:27 AM, will trillich <span dir="ltr">&lt;<a href="mailto:will.trillich@serensoft.com" target="_blank">will.trillich@serensoft.com</a>&gt;</span> wrote:<br>
<blockquote style="border-left:#ccc 1px solid;margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote">
<div>The FormBuilder/Catalyst -generated HTML works just fine in Chrome and in Firefox, so debugging there isn&#39;t useful. It also works fine in older Internet Explorers. :( I was hoping someone has already run into this FormBuilder-snag-with-IE8 and found an elegant fix...<br>



<br></div>
<div>And the &quot;<span style="border-collapse:collapse;font-family:arial, sans-serif;font-size:13px">return validate_incident(this)&quot; code is generated via FormBuilder, that&#39;s why I was asking the list, hoping someone else here has run into this and found a workaround.</span></div>




<div><br></div>
<div>We do have other DHTML javascript on the page (e.g. click to dynamically add another upload-field) so Javascript and JQuery are working. IE8 has apparently been tweaked enough that it doesn&#39;t recognize the object in that context...?</div>




<div><br></div>
<div>Any ideas?</div>
<div>
<div></div>
<div>
<div><br></div>
<div><br>
<div class="gmail_quote">On Wed, Oct 6, 2010 at 1:13 AM, Toby Corkindale <span dir="ltr">&lt;<a href="mailto:toby.corkindale@strategicdata.com.au" target="_blank">toby.corkindale@strategicdata.com.au</a>&gt;</span> wrote:<br>




<blockquote style="border-left:#ccc 1px solid;margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote">
<div>On 06/10/10 14:00, will trillich wrote:<br>
<blockquote style="border-left:#ccc 1px solid;margin:0px 0px 0px 0.8ex;padding-left:1ex" class="gmail_quote">Short version: Catalyst/Formbuilder uploads work fine in firefox and<br>chrome, works fine in IE 6... but not IE 8, where it throws an &quot;object<br>



expected&quot; error.<br></blockquote><br></div>Ugh, I hit this a little while ago, but have forgotten the details already.<br>I think you are looking in the right direction with the &quot;this&quot; though; try validating it in your function to ensure it contains what you&#39;re expecting perhaps?<br>



<br>Also, can you verify that jquery is actually getting loaded OK?<br><br>ie. In your document, put something like:<br> $(function() { alert(&quot;jquery has loaded!&quot;); });<br><br>and check to see that you get an alert box when you load the page. If not, fire up Chrome&#39;s developer tools, or Firefox&#39;s Firebug, and see they mention any warnings or errors.<br>



<br>-Toby<br><br>_______________________________________________<br>List: <a href="mailto:Catalyst@lists.scsys.co.uk" target="_blank">Catalyst@lists.scsys.co.uk</a><br>Listinfo: <a href="http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst" target="_blank">http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst</a><br>



Searchable archive: <a href="http://www.mail-archive.com/catalyst@lists.scsys.co.uk/" target="_blank">http://www.mail-archive.com/catalyst@lists.scsys.co.uk/</a><br>Dev site: <a href="http://dev.catalyst.perl.org/" target="_blank">http://dev.catalyst.perl.org/</a><br>



</blockquote></div><br></div></div></div></blockquote></div>
<div><br></div>