2011-06-23 6 views
0

jQTouchアプリケーションで簡単なAJAX POSTフォームを設定しました。jQTouch AJAXフォームコールバック

<form id="contact" class="topPage" method="post" action="/process/mobile-submit.cfm"> 
    <!-- Various form guts go here --> 
</form> 

これはすぐに使い慣れたものです。私のユーザーは情報を盗み、サーバーサイドのスクリプトは仕事をしてリードデータを邪魔し、すぐに使える簡単なレスポンスを返す。

<div> 
    <div class="toolbar"> 
     <a href="#contact" class="slide back">Back</a> 
    </div> 
    <div class="info"> 
     <strong>Thank You For Your Submission</strong><br /> 
     We have received your inquiry, and blah blah blah jibber jabber. 
    </div> 
</div> 

Googleアナリティクスでコンバージョンをトラッキングしようとしている人を除き、誰もが幸せです。さて、私はpageAnimationEndイベントを使って、このアプリケーションの各パネルに仮想ページビューを設定しました。これは、あらかじめセレクタがどのセレクタに接続されているかを知っているときに簡単ですが、jQTouchがフォームの戻り値には、#page-Nのような汎用シリアル化IDがあります。

フォームリターンに緩いスクリプトブロックを追加しようとしました。それは私のデスクトップ上のFirefoxではうまく動作し、私の電話機ではSafariではそれほどではありません。

このインスタンスでは、jQTouchでAJAXの詳細を処理できるようになったので、成功ハンドラを追加する簡単な方法はありますか?あるいは、私はpageAnimationEndハンドラを$('[id^=page-]')にバインドしようとしています。このアプリケーションをjQuery Mobileで書かれたものに置き換えるまで、私は特別なフォームを返して何もしたくないと思っていますか?

答えて

0

Worked it out。 リターン・フラグメントは当然のことながら独自のIDを宣言でき、jQTouchはそれをドキュメントの元の部分であるかのように扱います。私はこれまで、jQTouchがフラグメントに与えた属性についてのトスを与えなかったと仮定していました。私は間違っていた。

これは、文書の他の部分と同じように移動できることを意味します。また、戻りフラグメントのpageAnimationEndハンドラをIDまたはクラス名でバインドでき、期待どおりに動作することを意味します。したがって:

<div class="formResult"> 
<div class="toolbar"> 
    <a href="#contact" class="slide back">Back</a> 
</div> 
<div class="info"> 
    <strong>Thank You For Your Submission</strong><br /> 
    We have received your inquiry, and blah blah blah jibber jabber. 
</div> 

そして:

$('.formReturn').live('pageAnimationEnd', function(evt, info) { 
    if (info.direction == 'in') { 
     // Goal completion code 
    } else { 
     $(this).remove(); 
    } 
}); 
関連する問題