我正在使用Twitter Bootstrap Button JS状态按钮部分。
一切都按预期工作,但有时单击按钮时 - 它会“阻止”表单提交事件。然后表单未提交,按钮不会更改回启用状态。
基本上我最终没有提交表单和禁用按钮。
有什么问题?
Markup - 这里没什么特别的,只是一些wicket标记:
<button class="btn btn-primary" wicket:id="submit" type="submit">
<i class="icon-white icon-ok"></i> <wicket:message key="label"/>
</button>
按钮类。只需在页面加载时附加JS工作和执行脚本所需的属性:
public class StatefullButton extends Button {
public StatefullButton(String id, IModel<String> loadingText) {
super(id);
setOutputMarkupId(true);
add(AttributeModifier.append("data-loading-text", loadingText));
}
@Override
public void renderHead(IHeaderResponse response) {
response.renderJavaScriptReference(BootstrapButtonPluginResourceReference.get());
response.renderOnDomReadyJavaScript("$('#" + this.getMarkupId() + "').button();");
response.renderOnDomReadyJavaScript("$('#" + this.getMarkupId() + "').click(" +
"function(){" +
"var btn = $(this) \n" +
"btn.button('loading')" +
"})");
}
}
答案 0 :(得分:0)
我无法使用按钮解决问题,但找到了解决方法,使用SubmitLink并覆盖getTriggerJavaScript
这样的内容。
@Override
protected String getTriggerJavaScript(){
String script = super.getTriggerJavaScript();
String loadingScript = "$(this).button('loading');";
return loadingScript + script;
}