我尝试在一些字段中添加一些改变行为,但它们不会触发。
代码:
TextField test = new TextField("test", Model.of(""));
test.setOutputMarkupId(true);
test.add(new OnChangeAjaxBehavior() {
@Override
protected void onUpdate(AjaxRequestTarget target) {
setResponsePage(ProductPage.class);
}
});
add(test)
标记:
<input type="text" wicket:id="test" />
我不知道为什么这不起作用..我只是知道这段代码确实有用了...
---- ----编辑
一些额外的信息:我们使用wicket和java 7.我们与svn共享和合并我们的代码。在我看来,非常奇怪的行为是这个代码适用于一台电脑。对于其他所有PC,这都行不通。
更奇怪的是,NO onchange
行为不再触发。即使我调试代码,编译器也不会跳转到onUpdate
方法,而onchange
行为已经完成了他们的工作。
我们实际上不知道为什么...... JavaScript在每个浏览器中都被激活了,我们尝试使用IE,Chrome,Opera和Firerfox
答案 0 :(得分:0)
检查一下: OnChangeAjaxBehavior
你可以看到
if (!(component instanceof TextField || component instanceof TextArea)) {
...
}
所以你可能会尝试另一种行为,例如这应该可以正常工作:
new AjaxFormComponentUpdatingBehavior("onchange"){...}