This commit is contained in:
Andreas Svanberg 2024-04-16 14:17:07 +02:00
parent f1187390ff
commit 5a20a863d0

@ -7,7 +7,7 @@ import org.apache.wicket.markup.head.OnEventHeaderItem;
import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.Form;
/** /**
* Disables all elements with {@code [type=submit]} * {@link Form} behavior that disables all elements with {@code [type=submit]} when the form is submitted.
*/ */
public class DisableSubmitButtonsOnSubmit extends Behavior { public class DisableSubmitButtonsOnSubmit extends Behavior {
@Override @Override
@ -21,10 +21,12 @@ public class DisableSubmitButtonsOnSubmit extends Behavior {
@Override @Override
public void renderHead(Component component, IHeaderResponse response) { public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response); super.renderHead(component, response);
final String javaScript = "const submitButtons = event.target.querySelectorAll(\"[type=submit]\");\n" + final String javaScript = """
"for (const button of submitButtons) {\n" + const submitButtons = event.target.querySelectorAll("[type=submit]");
" button.disabled = true;\n" + for (const button of submitButtons) {
"}\n"; button.disabled = true;
}
""";
response.render(OnEventHeaderItem.forComponent(component, "submit", javaScript)); response.render(OnEventHeaderItem.forComponent(component, "submit", javaScript));
} }
} }