Description
First of all,forgive my poor english.
I want to write a custom component which can update it by itself,the javascript code like this,
T5ZK.update = function(ops) {
var zone = $(ops.id);
if (!zone)
{ Tapestry.warn("update zone:" + ops.id + "not find!"); return; } new Ajax.Request(ops.url, {
method: 'post',
parameters :
,
onSuccess : function(transport)
});
}
the rendered element will be like this:
<div id="selfupdatezone">
<a href="#" onclick="T5ZK.update(
);return false;">gbagba1249956540593</a>
</div>
the ajax response is like this:
{"scripts":["/assets/app/d420eea879c2a23e/components/T5ZK.js"],"script":"Tapestry.init(
);\n","content":"<div id='selfupdatezone'><a onclick='T5ZK.update(
{'url':'/selfzonetest.selfupdatezone:go/false','id':'selfupdatezone'});return false;' href='#'>gbagba1249956540593<\/a><\/div>"}
all this is work fine in firefox,but in ie8 it broken.
I view the page source and find that the result is :
<DIV id=selfupdatezone><DIV id=selfupdatezone><A onclick="T5ZK.update(
);return false;" href="#">gbagba718</A></DIV></DIV>
as you see:the update method do not decode the html string such as & apos;
I think this is the bug of prototype,I update the prototype to the vertion of 1.6.1-rc,and the problem is still exists.
Now how can I resolve this problem?
or anybody show me any other easy way to write a self-ajax-update component?
at here I have some word to say about tapestry5:
I don't like the javascript it support,I like it pure ,and I will hold the javascript by myself.But I like the support of asset such as include javascript,append javascript to the client.
I eagerlly want to new a component in java code,but t5 do not allow me do this,do any one find the beaform editor is so complex?I can create a customer beanform editor in asp.net so easy but I find in T5,wicket,struts2,jsf is so hard.I want it just simple,and more simple...