Yep, sorry, I was messing things up a bit. I corrected several errors I had on the code. The form submits fine, all works but not asyncronously. It does a normal submit and not an ajax one. The client side form validation is also not working. Only server side. So async mode is apparently not activating. Any clues why? I seem to remember something on the mailing list a while back of activating ajax globally... maybe on the shell component? Something like that?
My testcode is as follows... .html <html jwcid="@Shell" title="Test page!" renderBaseTag="false" browserLogLevel="DEBUG" debugEnabled="true" debugContainerId="dojoDebug" doctype="literal:PUBLIC html "-//W3C//DTD XHTML 1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd""> <body jwcid="@Body"> <span jwcid="@Insert" value="ognl:new java.util.Date()"/> <form jwcid="[EMAIL PROTECTED]" clientValidationEnabled="ognl:true" async="ognl:true" updateComponents="ognl:{'results'}" listener="listener:formSubmit"> Project name: <input jwcid="[EMAIL PROTECTED]" value="ognl:name" validators="validators:required"/> <br/> Project description: <input jwcid="[EMAIL PROTECTED]" value="ognl:description" /> <input jwcid="@Submit"/> </form> <div id="results"> Name: <span jwcid="@Insert" value="ognl:name" /> <br/> Description: <span jwcid="@Insert" value="ognl:description" /> </div> <div id="dojoDebug" style="background-color: #DDD;"> Debug goes here! </div> </body> </html> .java public abstract class Test extends BasePageImplementation { @InitialValue("literal:delegateIt") public abstract String getName(); @InitialValue("literal:A project management suite!") public abstract String getDescription(); public void formSubmit(IRequestCycle cycle) { getLogger().debug("Entered formSubmit"); getLogger().debug("Name: "+getName()); getLogger().debug("Description: "+getDescription()); } } Thanks, On 8/20/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
I don't believe @Submit or similar components accept that parameter. (double check the docs, but I think that only applies to the @Form currently..or various links) On 8/20/06, Pedro Viegas <[EMAIL PROTECTED]> wrote: > > Hi there. > Been trying to get a Tap4.1 form component to behave like a Tacos:AjaxForm > with no success. > If I understand correctly what I have to do is declare my form with > async="true" and have a submit with the updateComponents="some id", right? > I have the following example witch always does a normal full page submit. > > test.html > > <html jwcid="@Shell" title="Test page!" renderBaseTag="false" > browserLogLevel="DEBUG" debugEnabled="true" > debugContainerId="dojoDebug" > doctype="literal:PUBLIC html "-//W3C//DTD XHTML > 1.0Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1- > transitional.dtd""> > > <body jwcid="@Body"> > <span jwcid="@Insert" value="ognl:new java.util.Date()" > listener="formSubmit"/> > <form jwcid="[EMAIL PROTECTED]" clientValidationEnabled="true" async="true"> > Project name: <input jwcid="[EMAIL PROTECTED]" > value="ognl:name" > validators="validators:required"/> <br/> > Project description: <input jwcid="[EMAIL PROTECTED]" > value="ognl:description" /> > <input jwcid="@Submit" updateComponents="results"/> > </form> > <div id="results"> > Name: <span jwcid="@Insert" value="ognl:name" /> <br/> > Description: <span jwcid="@Insert" value="ognl:description" /> > </div> > <div id="dojoDebug" style="background-color: #DDD;"> > Debug goes here! > </div> > </body> > </html> > > test.page > > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE page-specification PUBLIC > "-//Apache Software Foundation//Tapestry Specification 4.0//EN" > "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd"> > > <page-specification class="com.teamware.delegateit.view.pages.Test"> > </page-specification> > > test.java > > public abstract class Test extends BasePageImplementation { > > @InitialValue("literal:delegateIt") > public abstract String getName(); > @InitialValue("literal:A project management suite!") > public abstract String getDescription(); > > public void formSubmit(IRequestCycle cycle) { > cycle.getResponseBuilder().updateComponent("results"); > } > } > > > The listener code with the ResponseBuilder.updateComponent is only a test > since is was not functioning. I think it should not even be necessary. > I'm using the 4.1.1SNAPSHOOT 20060815. > Anybody knows what's wrong? > > Regards, > > > -- > Pedro Viegas > > -- Jesse Kuhnert Tapestry/Dojo/(and a dash of TestNG), team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind.
-- Pedro Viegas