jQuery Mobile,表单提交时页面更改

jQuery Mobile, page change on form submit

本文关键字:Mobile 表单提交 jQuery      更新时间:2023-09-26

我正在使用jQuery mobile,想要验证表单。我已经为表单提供了一类paymentDetailForm

<form method="post" action="demo.java" class="paymentDetailForm">

表单中的提交按钮的 ID 为 paymentConfirm然后在javascript中,我使用以下代码:

$("#paymentConfrim").click(function() {
 $( ".paymentDetailForm" ).submit(function( event ) {
   if(!validatePaymentDetailForm()){ // if false comes from validation
     return false;
   }
   else{
     $(':mobile-pagecontainer').pagecontainer("change", "#successPage", {});
     return true;
    }
 });

});

这里validatePaymentDetailForm是我编写的用于验证表单字段的自定义验证函数。如果表单未验证,则返回 false,否则返回 true。

成功

提交表单后,我正在尝试将用户重定向到成功消息页面。子页面的 id 是 successPage ,但上面显示的代码不起作用。

$(':mobile-pagecontainer').pagecontainer("change", "#successPage", {});

控制台在执行此行时显示此错误: Uncaught Error: Syntax error, unrecognized expression: unsupported pseudo: mobile-pagecontainer

知道我做错了什么吗?

我使用的是旧版本的jQuery Mobile ver 1.2。显然,jQuery pagecontainer widget 是在 jQuery Mobile ver 1.4 中引入的。我无法更改jQuery移动版本,所以我使用了changePage()函数。

这是我用来使页面过渡工作的代码:

$("#paymentConfrim").click(function() {
  $( ".paymentDetailForm" ).submit(function( event ) {
  if(!validatePaymentDetailForm()){ // if false comes from validation
     return false;
  }
  else{
      $.mobile.changePage( "#submissionConfirmation", {} );
     return true;
   }
});