可以通过 onValueChanged 检查挂毯文本字段

Can check tapestry textfield via onValueChanged

我正在处理一个 Tapestry 5.4 项目,我应该在其中收听输入字段(文本字段)Tapestry 元素的变化。是否可以像在 select dom 元素(例如:http://jumpstart.doublenegative.com.au/jumpstart/examples/ajax/select1)上那样在文本字段上创建 onValueChanged? 我试图在文本字段上制作它,但没有成功。

或者你是如何解决挂毯中的这个问题的?我考虑过为此编写 js 模块......但那不是 "tapestry way".

先谢谢各位的解答!

正如您所注意到的,

TextField 默认情况下不会触发更改事件。您可以创建一个 mixin,但是它被放置在一个元素上并根据特定的客户端事件触发事件。可能在请求结束时进行区域更新。

一个良好的开端是 this link,它创建了一个完全可以做到这一点的组件。您传递有关要收听的内容、要触发的事件以及要更新的区域的客户端事件。

虽然这有点过时,但您确实可以将其转换为 js 模块,使用 JQuery 而不是 ProtoTypeZoneManagert5/core/zone 模块中定义,您将调用 deferredZoneUpdate(zoneId, evtEndpoint).

关于此 mixin 的好处是它 "the Tapestry way" 并且可重复用于所有组件。例如,应该在单选按钮更改时发生的区域更新。也不能开箱即用。它使用这个 mixin。