Я использую кнопку начальной загрузки Twitter JS , часть кнопки Stateful.
Все работает как положено, но иногда при нажатии кнопки - «блокирует» событие отправки формы.Тогда форма не отправляется и кнопка не изменяется обратно на включенную.
По сути, в конце я получаю не отправленную форму и отключенную кнопку.
Что не так?
Разметка - здесь ничего особенного, просто какая-то разметка калитки:
<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')" +
"})");
}
}