我正在搞一个挂毯5.4项目,在那里我应该听一个输入字段(文本字段)挂毯元素的变化。是否可以在文本字段上创建onValueChanged,就像选择dom元素一样(例如:http://jumpstart.doublenegative.com.au/jumpstart/examples/ajax/select1)? 我试图在文本字段上创建它,但没有用。
或者你如何在挂毯中解决这个问题?我想为此编写js模块......但这不是“挂毯方式”。
提前感谢答案!
答案 0 :(得分:2)
TextField
默认情况下不会触发更改事件。您可以创建一个mixin,然后放置在一个元素上,并根据某个客户端事件触发事件。可能在请求结束时进行区域更新。
一个好的开始是this link,它创建了一个完全相同的组件。您传递了您想要监听的客户端事件,要触发的事件以及要更新的区域。
但这有点过时,但您确实可以使用JQuery
而不是ProtoType
将其转换为js模块。 ZoneManager
在t5/core/zone
模块中定义,您将调用deferredZoneUpdate(zoneId, evtEndpoint)
。
关于这个mixin的好处是它是“Tapestry方式”并且可以重复用于所有组件。例如,在单选按钮上发生的区域更新会发生变化。也不是开箱即用的。这与mixin有关。