Howard Lewis Ship wrote
> What if the function already existed on some global object?

The function should not exist anywhere before my code. Here is what happens. 
The page is loaded, I click a link which refreshes a zone and then it
reveals a textfield with autocomponent mixin. I am passing that JSONObject
to options of the autocomponent mixin that will assign a function to the
select event of the autocomponent (my idea is to submit the form on select -
well to submit what the users has selected)

    public JSONObject getAutoUsersParams() { 
         JSONObject params = new JSONObject(); 
         params.put("select", new JSONLiteral("function (event,ui)
{alert(1)}")); 
         return params; 
    } 

However the zone is simply not refreshed. But to answer the original
question since the function is then inserted for the first time it does not
exist anywhere else. When I go to debug I can see that on the server side
everything happens as it should. Also the zone is refreshed if I dont pass
the JSONLiteral. Also if I set that the textfield is visible at first load
then the function is passed as it should, when I select the link to
hide/show the edit mode it hides it, but then it wont show it on my next
click.

So the problem is only when I want to refresh the zone and I pass the
JSONLiteral


Howard Lewis Ship wrote
>  
> What if the JSONObject you pass in is not passed directly to autocommit
> code?

hm...since I am not that good with js I have no idea what autocommit code
is? Any suggestion how I can check this or what it is?


Howard Lewis Ship wrote
>  
> So you pass what I call a "spec", and it builds the options for the
> autocommit itself.  You don't specify a function, you specify a
> function name or reference. 

I am not quite positive what you want to explain to me here but if I
understood you correctly this approach is not good for me. I dont want to
execute the function when I refresh a zone I just want to pass the function
to the select event of the autocomplete mixin. So calling addScript and
passing a function sadly wont work for me


Howard Lewis Ship wrote
>  
> I'm not exactly sure why the Ajax case fails; I suspect something in
> the Prototype portion of the pipeline is sanitizing the JSONObject to
> defeat what you are attempting. I always start in the Network tab, to
> see exactly what is being passed down to the client (I sometimes use
> curl from the command line just to be certain there isn't some browser
> caching getting in the way).

I am using jquery (probably should have mention this before). In the Network
tap I dont see anything wrong. Just that event is being triggered. However
in the console I do see some error 

Communication with the server failed: null t5-console-jquery.js:64
error t5-console-jquery.js:64
$.extend.invokeLogger tapestry-jquery.js:160
$.extend.error tapestry-jquery.js:120
$.tapestry.utils.ajaxFailureHandler tapestry-jquery.js:1103
fire jquery-1.7.2.js:1075
self.fireWith jquery-1.7.2.js:1193
done jquery-1.7.2.js:7540
callback jquery-1.7.2.js:8324
Ajax failure: Status 200 for #{request.url}: null 
Ajax failure: Status 200 for #{request.url}: null t5-console-jquery.js:56

The cash is definitely not the problem I have checked that 

tnx for help



--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/JSONLiteral-breks-zone-refresh-tp5717101p5717128.html
Sent from the Tapestry - User 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