looks like a bug to me, please file a jira issue if it persists.
On 18/04/2008, Ulrich Stärk <[EMAIL PROTECTED]> wrote:
> Indeed, there is an open head tag, that must have been left over from some
> copy-paste-episode. As for the "input" items outside of the form scope:
> those are Any components which render as buttons and don't have to be
> contained inside a form element. I'll give removing the head tag a try
> tomorrow, thanks for the pointer.
>
> Uli
>
> cturner schrieb:
>
>
> > Hello. Your HTML looks a bit strange - you're opening a 'head' tag but not
> > closing it before the body opens. Also you have input items that are
> > appearing outside of the form scope. Sort out your HTML template and try
> > again - I'd be interested to know how you go.
> >
> >
> >
> > Ulrich Stärk wrote:
> >
> > > I'd like to bring up an issue I already posted to the user mailing list
> but got no response for:
> > >
> > > Today I noticed a strange behaviour of T4's EventListeners. I wanted an
> Any component which renders as a button to submit a form and call my
> listener method after form submission. The docs say that's what the
> EventListener's submitForm parameter is for. So I went about and wrote an
> EventListener, targeted it at my Any component, made it listen to the
> onclick event and set submitForm to my form (page class and HTML template
> below). When I tested my work nothing at all happened. I then checked the
> generated HTML and found that Tapestry did not generate any event connection
> code. When I removed the submitForm parameter it suddenly did and my
> listener method got called the way it's supposed to.
> > >
> > > I dived into T4's sources and found out the following:
> > >
> > > In ComponentEventConnectionWorker Tapestry stores a list of event
> connections to form components which are not rendered yet and renders those
> when the corresponding form component gets rendered. It stores those
> connections in a Map and uses the form's _id_ as a key (in filterFormEvents
> on line 412). It then checks all components whether they got deferred
> connections to be set up by querying the map using the component's _extended
> id_ and therefore never finds any deferred connections for any component. I
> changed isDeferredForm, linkDeferredForm and mapFormNames to use the form's
> id and suddenly Tapestry generates the connection setup javascript code and
> my form's submit listener gets called.
> > >
> > > But my listener methods which I annotated with the EventListener
> annotation still don't get called.
> > >
> > > Am I doing something wrong or is this a bug in Tapestry for which I
> should file an issue?
> > >
> > > Uli
> > >
> > > page class:
> > >
> > > public abstract class TestPage extends BasePage
> > > {
> > > public abstract boolean getChecked();
> > >
> > > @EventListener(targets="submitFormAsync",
> events="onclick", submitForm="myForm", async=true)
> > > public void submitFormAsync() {
> > > System.out.println("EventListener called from
> submitFormAsync");
> > > }
> > >
> > > @EventListener(targets="submitForm",
> events="onclick", submitForm="myForm")
> > > public void submitForm() {
> > > System.out.println("EventListener called from
> submitForm");
> > > }
> > >
> > > @EventListener(targets="callListenerAsync",
> events="onclick", async=true)
> > > public void callListenerAsync() {
> > > System.out.println("EventListener called from
> > > callListenerAsync");
> > > }
> > >
> > > public void formListener()
> > > {
> > > System.out.println("Form's listener got called");
> > > System.out.println("checked: " + getChecked());
> > > }
> > > }
> > >
> > > page template:
> > >
> > > <html jwcid="@Shell" title="Test Page"
> > > xmlns='http://www.w3.org/1999/xhtml'
> > > doctype='html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"
> \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\"'
> > > debugEnabled="true"
> > > browserLogLevel="DEBUG"
> > > consoleEnabled="true">
> > > <head>
> > > <title>Test Page</title>
> > > <body jwcid="@Body">
> > > <form jwcid="[EMAIL PROTECTED]"
> listener="listener:formListener">
> > > <input jwcid="@Checkbox" value="ognl:checked" /><br />
> > >
> > > </form>
> > > <p><input jwcid="[EMAIL PROTECTED]" type="button" value="literal:submit
> form via EventListener" /></p>
> > > <p><input jwcid="[EMAIL PROTECTED]" type="button"
> value="literal:submit form async via EventListener" /></p>
> > > <p><input jwcid="[EMAIL PROTECTED]" type="button"
> value="literal:call an EventListener async without submitting the Form"
> /></p>
> > > </body>
> > > </html>
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> > >
> > >
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
Marcus Schulte
http://marcus-schulte.blogspot.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]