You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2021/02/20 18:32:52 UTC
[wicket] branch WICKET-6868-ajax-submit-onsubmit updated:
WICKET-6868 ajax submit allow trigger submit on form
This is an automated email from the ASF dual-hosted git repository.
svenmeier pushed a commit to branch WICKET-6868-ajax-submit-onsubmit
in repository https://gitbox.apache.org/repos/asf/wicket.git
The following commit(s) were added to refs/heads/WICKET-6868-ajax-submit-onsubmit by this push:
new b0f164a WICKET-6868 ajax submit allow trigger submit on form
b0f164a is described below
commit b0f164a4c70791e7b8e59918d656bfbcdfe33b2d
Author: Sven Meier <sv...@apache.org>
AuthorDate: Sat Feb 20 18:46:38 2021 +0100
WICKET-6868 ajax submit allow trigger submit on form
---
.../apache/wicket/ajax/form/AjaxFormSubmitBehavior.java | 14 +++++++++-----
.../apache/wicket/ajax/markup/html/form/AjaxButton.java | 11 ++++++-----
.../wicket/ajax/markup/html/form/AjaxFallbackButton.java | 11 ++++++-----
.../wicket/examples/ajax/builtin/FileUploadPage.java | 4 ++--
4 files changed, 23 insertions(+), 17 deletions(-)
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormSubmitBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormSubmitBehavior.java
index 7446768..96a703b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormSubmitBehavior.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/form/AjaxFormSubmitBehavior.java
@@ -141,12 +141,12 @@ public abstract class AjaxFormSubmitBehavior extends AjaxEventBehavior
}
/**
- * Controls whether or not JS <code>onsubmit()</code> should be called on the submitting form.
+ * Controls whether or not a JS <code>submit</code> should be triggered on the submitting form.
* False by default.
*
- * @return true if form's <code>onsubmit()</code> should be called, false otherwise
+ * @return true if <code>submit</code> should be triggered, false otherwise
*/
- protected boolean shouldCallJavaScriptOnsubmit()
+ protected boolean shouldTriggerJavaScriptSubmitEvent()
{
return false;
}
@@ -178,12 +178,16 @@ public abstract class AjaxFormSubmitBehavior extends AjaxEventBehavior
attributes.setSubmittingComponentName(submittingComponentName);
}
- if (shouldCallJavaScriptOnsubmit()) {
+ if (shouldTriggerJavaScriptSubmitEvent()) {
attributes.getAjaxCallListeners().add(new AjaxCallListener() {
@Override
public CharSequence getPrecondition(Component component)
{
- return String.format("return (Wicket.$('%s').onsubmit || jQuery.noop)();", form.getMarkupId());
+ return String.format("var p, f = jQuery('#%s'), fn = function(e) { p = !e.isDefaultPrevented(); e.preventDefault(); };" //
+ + "f.on('submit',fn);" //
+ + "f.trigger('submit');" //
+ + "f.off('submit',fn);" //
+ + "return p;", form.getMarkupId());
}
});
}
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxButton.java b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxButton.java
index fd59920..1f460ac 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxButton.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxButton.java
@@ -137,9 +137,9 @@ public abstract class AjaxButton extends Button
}
@Override
- protected boolean shouldCallJavaScriptOnsubmit()
+ protected boolean shouldTriggerJavaScriptSubmitEvent()
{
- return AjaxButton.this.shouldCallJavaScriptOnsubmit();
+ return AjaxButton.this.shouldTriggerJavaScriptSubmitEvent();
}
@Override
@@ -157,12 +157,13 @@ public abstract class AjaxButton extends Button
}
/**
- * Controls whether or not JS <code>onsubmit()</code> should be called on the submitting form.
+ * Controls whether or not a JS <code>submit</code> should be triggered on the submitting form.
* False by default.
*
- * @return true if form's <code>onsubmit()</code> should be called, false otherwise
+ * @return true if <code>submit</code> should be triggered, false otherwise
*/
- protected boolean shouldCallJavaScriptOnsubmit() {
+ protected boolean shouldTriggerJavaScriptSubmitEvent()
+ {
return false;
}
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
index eaed28f..62627ff 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/markup/html/form/AjaxFallbackButton.java
@@ -118,20 +118,21 @@ public abstract class AjaxFallbackButton extends Button
}
@Override
- protected boolean shouldCallJavaScriptOnsubmit()
+ protected boolean shouldTriggerJavaScriptSubmitEvent()
{
- return AjaxFallbackButton.this.shouldCallJavaScriptOnsubmit();
+ return AjaxFallbackButton.this.shouldTriggerJavaScriptSubmitEvent();
}
};
}
/**
- * Controls whether or not JS <code>onsubmit()</code> should be called on the submitting form.
+ * Controls whether or not a JS <code>submit</code> should be triggered on the submitting form.
* False by default.
*
- * @return true if form's <code>onsubmit()</code> should be called, false otherwise
+ * @return true if <code>submit</code> should be triggered, false otherwise
*/
- protected boolean shouldCallJavaScriptOnsubmit() {
+ protected boolean shouldTriggerJavaScriptSubmitEvent()
+ {
return false;
}
diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/FileUploadPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/FileUploadPage.java
index d33c9bd..c7f25fb 100644
--- a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/FileUploadPage.java
+++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/FileUploadPage.java
@@ -99,10 +99,10 @@ public class FileUploadPage extends BasePage
private static final long serialVersionUID = 1L;
/**
- * Need to call onsubmit to initiate progressbar.
+ * Need to trigger submit to initiate progressbar.
*/
@Override
- protected boolean shouldCallJavaScriptOnsubmit()
+ protected boolean shouldTriggerJavaScriptSubmitEvent()
{
return true;
}