On 11/7/07, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
> I think you need to pass in "this" to your script execute call,  the
> current method you are executing is deprecated.

In fact, I removed it in 4.1.4-SNAPSHOT... it was deprecated since 4.1.1


>
> For the javascript calls you can refer to
>
> http://tapestry.apache.org/tapestry4.1/javascript/index.html
> and
> http://tapestry.apache.org/tapestry4.1/jsdoc/index.html
>
> where you should find the new function tapestry.form.submit(form)
> (with some other additional documented optional arguments )
>
> On Nov 6, 2007 7:36 PM, Dom Couldwell <[EMAIL PROTECTED]> wrote:
> >
> > We have a link on a page that does a submit and pops up a new window once 
> > the
> > form has been submitted.
> >
> > The code is based on the PopupLinkSubmit example here:
> > http://wiki.apache.org/tapestry/PopupLinkSubmit
> >
> > This all works fine on 4.0.2 but under 4.1.4-SNAPSHOT we get the following
> > error when the page opens up:
> >
> > 2007-11-06 18:35:10,197, ERROR,
> > [org.apache.tapestry.services.impl.HiveMindExpressionCompiler], line 227,
> > Error generating OGNL statements for expression class with root
> > {href=javascript:submitPopupLink('editorForm',
> > 'PopupLinkSubmit','/GQ/Waiting.page');,
> > [EMAIL PROTECTED]/editor.editorForm], class=action,
> > popupLink=/GQ/Waiting.page, name=PopupLinkSubmit}
> > org.apache.hivemind.ApplicationRuntimeException: Unable to add method void
> > set(ognl.OgnlContext, java.lang.Object, java.lang.Object) to class
> > $ASTProperty_116174fa4f8: [source error]
> > put(java.lang.String,java.lang.Object) not found in java.lang.Object
> >       at
> > org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
> >       at
> > org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:217)
> >       at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:523)
> >       at ognl.Ognl.compileExpression(Ognl.java:141)
> > ...
> > Caused by: javassist.CannotCompileException: [source error]
> > put(java.lang.String,java.lang.Object) not found in java.lang.Object
> >       at javassist.CtBehavior.setBody(CtBehavior.java:347)
> >       at javassist.CtBehavior.setBody(CtBehavior.java:316)
> >       at
> > org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:272)
> >       ... 137 more
> > Caused by: compile error: put(java.lang.String,java.lang.Object) not found 
> > in
> > java.lang.Object
> >       at 
> > javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:716)
> >       at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681)
> >       at
> > javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
> >       at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
> >       at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:235)
> >       at javassist.compiler.CodeGen.atStmnt(CodeGen.java:323)
> >       at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
> >       at javassist.compiler.CodeGen.atStmnt(CodeGen.java:344)
> >       at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
> >       at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:285)
> >       at javassist.compiler.Javac.compileBody(Javac.java:212)
> >       at javassist.CtBehavior.setBody(CtBehavior.java:341)
> >       ... 139 more
> >
> > Here's what's on the page:
> >
> >       <a href="#"
> >          jwcid="@PopupLinkSubmit"
> >          listener="listener:openEditorGraph"
> >          popuppage="Waiting"
> >          styleClass="action"
> >          windowWidth="840"
> >          windowHeight="550">
> >         Generate Plot
> >       </a>
> >
> >
> > Here's PopupLinkSubmit.script
> >
> > <?xml version="1.0"?>
> > <!DOCTYPE script PUBLIC
> >         "-//Apache Software Foundation//Tapestry Script Specification 
> > 3.0//EN"
> >         "http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd";>
> > <script>
> >
> > <input-symbol key="name" class="java.lang.String" required="yes"/>
> > <input-symbol key="popupLink" class="java.lang.String" required="yes"/>
> > <input-symbol key="form" class="org.apache.tapestry.IForm" required="yes"/>
> > <input-symbol key="class" class="java.lang.String" required="no"/>
> >
> > <let key="href">
> >   javascript:submitPopupLink('${form.name}', '${name}','${popupLink}');
> > </let>
> >
> > <let key="class">
> >   ${class}
> > </let>
> >
> > </script>
> >
> > Which comes out as:
> >
> >       <a href="javascript:submitPopupLink('editorForm',
> > 'PopupLinkSubmit','/GQ/Waiting.page');" class="action">
> >         Generate Plot
> >       </a>
> >
> > The Javascript we're rendering in PopupLinkSubmit.java comes out as:
> >
> > function submitPopupLink(form, elementId, url)
> > {
> >   var windowName = 'RDQGraphPopup';
> >   var randomNumber = Math.floor(Math.random()*1000);
> >   windowName = windowName+randomNumber;
> >   aWindow = window.open(url, windowName, 'width=840, height=800,
> > scrollbars=yes,resizable=yes', false);
> >   aWindow.focus();
> >   var form = document.getElementById(form);
> >   form.target=windowName;
> >   form.events.submit(elementId);
> >   form.target='';
> > }
> >
> > I can supply the rest of the source if required but it's basically following
> > the example I mentioned at the top.
> >
> > The rendered versions of the link and the Javascript are the same as under
> > 4.0.2 but we get the above error in the back end and the link does not work.
> > We get a Javascript error stating that 'events' is null or not an object.
> > This is referring to this line:
> >   form.events.submit(elementId);
> > Which seems to be related to issues mentioned here
> > http://tapestry.apache.org/tapestry4.1/usersguide/upgrade4.0.html
> > Can anyone let me know what we should be doing instead of 
> > form.events.submit?
> > The documentation does not make it clear what the replacement is
> >
> > If we fix the form.events issues will that also fix the error we see when 
> > the
> > page loads up or is that an unrelated error?
> >
> > Any ideas would be appreciated.
> >
> > Dom
> >
> > ---
> >
> > This e-mail may contain confidential and/or privileged information. If you
> > are not the intended recipient (or have received this e-mail in error)
> > please notify the sender immediately and destroy this e-mail. Any
> > unauthorized copying, disclosure or distribution of the material in this
> > e-mail is strictly forbidden.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
>
> --
> Jesse Kuhnert
> Tapestry/Dojo team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
Andreas Andreou - [EMAIL PROTECTED] - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to