Wicket表单:禁用提交按钮

时间:2014-05-27 11:46:01

标签: wicket html-form wicket-1.6 wicket-6

在Wicket中,当我禁用Form实例时,它会完全禁用我的输入字段,但它也无法禁用提交按钮。

如何禁用提交按钮,而不需要为提交按钮添加wicket:id

2 个答案:

答案 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