jQuery 移动,表单提交时页面更改

jQuery Mobile, page change on form submit

我正在使用 jQuery 移动设备并想要验证表单。 我已经给表格 class 的 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 是我编写的用于验证表单字段的自定义验证函数。如果表单未通过验证,则 returns 为假,否则 returns 为真。

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

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

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

知道我做错了什么吗?

我使用的是 jQuery 移动版 1.2 的旧版本。显然 jQuery pagecontainer 小部件是在 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;
   }
});