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");

Reply via email to