Repository: wicket Updated Branches: refs/heads/master 36b840263 -> abedb468e
WICKET-6525 restored check for onsubmit on form which was lost in WICKET_6348 Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/abedb468 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/abedb468 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/abedb468 Branch: refs/heads/master Commit: abedb468e52f6db07d1cf689b0fbd426fca36313 Parents: 36b8402 Author: Sven Meier <svenme...@apache.org> Authored: Sun Feb 4 21:08:14 2018 +0100 Committer: Sven Meier <svenme...@apache.org> Committed: Sun Feb 4 21:08:17 2018 +0100 ---------------------------------------------------------------------- .../org/apache/wicket/markup/html/form/SubmitLink.java | 13 +++++++++++-- .../apache/wicket/examples/compref/SubmitLinkPage.html | 6 +++--- .../apache/wicket/examples/compref/SubmitLinkPage.java | 6 ++++++ 3 files changed, 20 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/abedb468/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java index 80e01d9..f7f181b 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/SubmitLink.java @@ -207,9 +207,18 @@ public class SubmitLink extends AbstractSubmitLink implements IRequestListener // find the root form - the one we are really going to submit Form<?> root = getForm().getRootForm(); + StringBuilder script = new StringBuilder(); + if (shouldInvokeJavaScriptFormOnsubmit()) + { + script.append(String.format("var ff=document.getElementById('%s');", getForm().getMarkupId())); + script.append("if (typeof ff.onsubmit === 'function' && ff.onsubmit() == false) return false;"); + } + CharSequence url = urlForListener(new PageParameters()); - - return root.getJsForListenerUrl(url); + script.append(root.getJsForListenerUrl(url)); + script.append("return false;"); + + return script; } else { http://git-wip-us.apache.org/repos/asf/wicket/blob/abedb468/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SubmitLinkPage.html ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SubmitLinkPage.html b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SubmitLinkPage.html index a5c26ca..e5bfee3 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SubmitLinkPage.html +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SubmitLinkPage.html @@ -11,13 +11,13 @@ <p> A SubmitLink is a special link that acts like a submit button. - It can be inside the form component or inside the form component. + It can be inside the form component or outside the form component. </p> <p> - <form wicket:id="form"> + <form wicket:id="form" onsubmit="return confirm('Do you really want to submit?');"> <a wicket:id="internal">Internal SubmitLink</a> </form> - <a wicket:id="external">External SubmitLink</a> + <a wicket:id="external">External SubmitLink with confirmation</a> <span wicket:id="feedback">feedbackmessages will be put here</span> </p> <span wicket:id="explainPanel">panel contents come here</span> http://git-wip-us.apache.org/repos/asf/wicket/blob/abedb468/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SubmitLinkPage.java ---------------------------------------------------------------------- diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SubmitLinkPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SubmitLinkPage.java index fab473f..0a96d83 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SubmitLinkPage.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/compref/SubmitLinkPage.java @@ -45,6 +45,12 @@ public class SubmitLinkPage extends WicketExamplePage SubmitLink internal = new SubmitLink("internal") { @Override + protected boolean shouldInvokeJavaScriptFormOnsubmit() + { + return false; + } + + @Override public void onSubmit() { info("internal onsubmit");