在Wicket中,当我禁用Form
实例时,它会完全禁用我的输入字段,但它也无法禁用提交按钮。
如何禁用提交按钮,而不需要为提交按钮添加wicket:id
?
答案 0 :(得分:1)
使用AjaxSubmitLink
并将其添加到表单中。它将与表单一起启用/禁用:
HTML:
<button wicket:id="submit">Submit</button>
爪哇:
form.add(new AjaxSubmitLink("submit"));
答案 1 :(得分:0)
我通过自动创建Buttons
解决了这个问题。在我的WebApplication
的{{1}} - 方法中,我安装了init()
,使AbstractMarkupFilter
自动链接:
<input type="submit"/>
然后我在现有markupSettings.setMarkupParserFactory(new IMarkupParserFactory() {
public MarkupParser newMarkupParser(MarkupResourceStream resource) {
final MarkupParser parser = new MarkupParser(new XmlPullParser(), resource);
parser.appendMarkupFilter(new AbstractMarkupFilter() {
public MarkupElement nextTag() throws ParseException {
final ComponentTag tag = (ComponentTag)getParent().nextTag();
if (tag == null) {
return null;
}
if (tag.getId() != null) {
return tag;
}
if (!tag.isOpen() && !tag.isOpenClose()) {
return tag;
}
if (tag.getName().equals("input") && !(tag instanceof WicketTag)) {
final String type = tag.getAttributes().getString("type");
if ("submit".equals(type)) {
tag.enableAutolink(true);
tag.setId(WicketLinkTagHandler.AUTOLINK_ID);
tag.setAutoComponentTag(true);
tag.setModified(true);
}
}
return tag;
}
};
return parser;
}
});
之前安装IComponentResolver
:
AutoLinkResolver