Here's the cause and a solution...

It happens if you try to do a manual AJAX submit by calling 
form.performSubmit(), in Firefox. performSubmit() will try to stop the 
window.event, but window.event is not defined in Firefox.

I'm solving it by scrapping the manual submit. Instead, I've added an invisible 
submit button and, on change of Select, I invisibly click it. This way works 
without having to know what's in tapestry.js.

                <form t:type="form" t:id="filterCriteria" t:zone="personsZone" 
class="filter">
                
                        <t:label for="firstInitial"/>: 
                        <select t:type="select" t:id="firstInitial" 
t:model="firstInitials" t:blankLabel="All" 
                                
onchange="document.getElementById('filterSubmit').click()"/>
        
                        <input type="submit" id="filterSubmit" style="display: 
none;"/>

                </form>

HTH,

Geoff

On 29/01/2013, at 11:33 PM, Geoff Callender wrote:

> I've added a new example to JumpStart but it's failing in Firefox - the 
> filters aren't working:
> 
>       
> http://jumpstart.doublenegative.com.au/jumpstart/examples/ajax/filteredgrid
> 
> The javascript console says "TypeError: domevent is undefined" for 
> domevent.stop(); in tapestry.js at line 1568.
> 
> I guess it's somehow due to using onchange in this way:
> 
>               <form t:type="form" t:id="filterCriteria" t:zone="personsZone" 
> class="filter">
>       
>                       <t:label for="firstInitial"/>: 
>                       <select t:type="select" t:id="firstInitial" 
> t:model="firstInitials" t:blankLabel="All" 
>                               
> onchange="document.getElementById('filterCriteria').performSubmit()"/>
>       
>               </form>
> 
> Please, any suggestions? IE 7 & 8, Safari, and Chrome are all fine.
> 
> Geoff
> 
> 

Reply via email to