code: public void submit(String... submitMsgs) {
          if (submissionHandler == null)
              throw new IllegalStateException(
                      "No SubmissionHandler has been set for this Form and it is in an invalid " +
                      "state for submit() until one has been defined.");
          generalErrors.clear();
          boolean validated = validate(false/*scrollToFirstError*/);
          if (validated) {
              String s = null;
              if (submitMsgs.length > 0) s = submitMsgs[0];
              if (s == null || s.isEmpty()) s = "Submitting form";
              showFormProcessingDialog(s);
              @SuppressWarnings("unchecked")
              SubmissionHandler<JQMForm> h = (SubmissionHandler<JQMForm>) submissionHandler;
              h.onSubmit(this);
          } else {
              scrollToFirstError();
          }
      }
docs: This method is invoked when the form is ready for submission. Typically
  this method would be called from one of your submission buttons
  automatically but it is possible to invoke it programmatically.
  <br>
  Before validation, the general errors are cleared.
  <br>
  If the validation phase is passed the the submission handler will be
  invoked. Before the handler is invoked, the page loading dialog will be
  shown so that async requests can complete in the background.
  <br>
  The {@link SubmissionHandler} must hide the loading dialog by calling
  hideFormProcessingDialog() on the form or by calling Mobile.hideLoadingDialog()