You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Ciaran Wood <ci...@gamesys.co.uk> on 2009/05/26 18:44:45 UTC
Tapestry ajax form swallows server-side errors
I¹ve encountered a bug in T5.1.0.5 where a form that submits via ajax (i.e.
The form has its zone parameter set) will never notify the user if the
server-side action fails. I¹ve traced it down to this line in tapestry.js:
// Set a default failure handler if none is provided.
options.onFailure |= Tapestry.ajaxFailureHandler;
This line is in the sendAjaxRequest function that gets added to all form
elements via Prototype's Element.addMethods function. I used firebug to
debug the above statement and instead of the OR assignment that it looks
like, options.onFailure actually ends up being assigned the value '0'. I
guess this means that its only a bitwise operation and can't be used for
functions etc.
Having looked at the svn history of tapestry.js, it looks like this line has
been in the code for a while, so I'm wondering if anyone else has
encountered this. I'm going to raise a JIRA if noone has any objections?
Ciaran Wood
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Tapestry ajax form swallows server-side errors
Posted by Ciaran Wood <ci...@gamesys.co.uk>.
I've created this as TAP-722
(https://issues.apache.org/jira/browse/TAP5-722), with a patch with the fix
and a selenium test.
Ciaran Wood
On 26/05/2009 5:44pm, "Ciaran Wood" <ci...@gamesys.co.uk> wrote:
> I¹ve encountered a bug in T5.1.0.5 where a form that submits via ajax (i.e.
> The form has its zone parameter set) will never notify the user if the
> server-side action fails. I¹ve traced it down to this line in tapestry.js:
>
> // Set a default failure handler if none is provided.
> options.onFailure |= Tapestry.ajaxFailureHandler;
>
> This line is in the sendAjaxRequest function that gets added to all form
> elements via Prototype's Element.addMethods function. I used firebug to
> debug the above statement and instead of the OR assignment that it looks
> like, options.onFailure actually ends up being assigned the value '0'. I
> guess this means that its only a bitwise operation and can't be used for
> functions etc.
>
> Having looked at the svn history of tapestry.js, it looks like this line has
> been in the code for a while, so I'm wondering if anyone else has
> encountered this. I'm going to raise a JIRA if noone has any objections?
>
> Ciaran Wood
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org