Hello again,

the scripts are not included in the ajax response,

I wrote a component to show the problem in the simpliest form:

ComponentWithIScript.html

<html>
<body jwcid="$content$">

        Component with IScript
        

</body>
</html>

ComponentWithIScript.jwc

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE component-specification PUBLIC 
  "-//Apache Software Foundation//Tapestry Specification 4.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd";>

<component-specification allow-body="no" allow-informal-parameters="no">

        <component id="onFocusScript" type="Script">
                <binding name="script" value="literal:OnFocusScript.script"/>
        </component>
        
</component-specification>

OnFocusScript.script

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script PUBLIC
"-//Apache Software Foundation//Tapestry Script Specification 3.0//EN"
"http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd";>

<script>
        <body>
                <unique>
                        <![CDATA[
                                function onFocusShowMessage() {
                                        alert('hello');
                                }
                        ]]>
                </unique>
        </body>
</script>

I tried to find some examples how (or rather in what cases) to use such
things like:
cycle.getResponseBuilder().addBodyScript(script); ... etc...but haven't
found anything interresting..
or maybe should I include script other way, like <inject property="script"
type="script" object="OnFocusScript.script"/> and then render it in
renderComponent method? but my component is more like composite component,
that consist of standard / my components (each of it has its own
updateComponent method) I'm not sure if I can add
MyCompositeComponent.updateComponent extra method..

any ideas how to include he scripts to ajax response?


Andreas Andreou-2 wrote:
> 
> First see if the scripts are included in the ajax response
> using something like Firebug... they should be
> 
> Then you just need to see how you define the functions
> function1, function2, function3
> 
> There are a few normal ways such as
> 1) function function1() {...}
> 2) function1=function() {...)
> but the scripts (that include those definitions) are not
> evaluated in the normal window/document scope when in ajax.
> 
> Anyway, just use
> window.function1=function() {...)
> 
> 
> On Fri, Feb 13, 2009 at 1:32 PM, Lentz <patrykziemni...@gmail.com> wrote:
>>
>> Hello there,
>> I'm making a migration from 4.0.2 to 4.1.6. Everything works great except
>> rendering one of my components by updateComponent function. This
>> component
>> is an extended version of contrib:Table. It additionally consist of 3
>> IScript components. For a first time a page is rendered except that
>> component (and nothing is there, just empty area, and this is ok, this
>> was
>> planned). Then, after submitting, during refreshing this area my
>> component
>> should appear. I'm trying to render it this way:
>> cycle.getResponseBuilder().updateComponent("dynamicArea");
>>
>> ..the component was rendered, but the scripts weren't. There are 3
>> actions
>> added to my component:
>>
>> onfocus=function1();
>> onblur=function2();
>> onclick=function3();
>> ..and when I try to fire them, an error appears:
>> no function1 found , no function2 found, etc…
>> ..but if I refresh the page with F5 (normal response, not ajax),
>> everything
>> is ok (the javascript functions are rendered in body element). Does
>> anyone
>> know how to resolve this problem?
>> Thanks in advance
>> Patryk 'Lentz' Ziemnicki
>>
>> --
>> View this message in context:
>> http://n2.nabble.com/T4.1.6---UpdateComponents-doesn%27t-rebuild-body-element-tp2320775p2320775.html
>> Sent from the Tapestry Users mailing list archive at Nabble.com.
>>
> 
> 
> 
> -- 
> Andreas Andreou - andy...@apache.org - http://blog.andyhot.gr
> Tapestry / Tacos developer
> Open Source / JEE Consulting
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
> 
> 
> 

-- 
View this message in context: 
http://n2.nabble.com/T4.1.6---UpdateComponents-doesn%27t-rebuild-body-element-tp2320775p2341882.html
Sent from the Tapestry Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to