2

3つの別々のDHTMLタブにあるマーケター向けの3つのWebフォームを含むページがあります。ユーザーがフォームに入力して送信すると、最終的にデフォルトのタブに戻り、ユーザーの感謝のメッセージは入力したフォームのタブに表示されます。

WFFMフォームのポストバック後にページが読み込まれたときに適切なフォーカスを設定できるように、ハッシュタグを使用して現在のタブを示すことを検討しましたが、ポストバック中にハッシュタグがURLから削除されます。クエリ文字列パラメータはポストバックを存続させるように見えますが、タブナビゲーションを設定すると、ポストバックが発生し、DHTMLタブを使用する利点がなくなります。

ポストバック後に正しいタブを表示するための良い解決策はありますか?

Sitecoreバージョン:6.4.1(rev。110324)マーケター向けWebフォーム-2.2.0(rev。110303)

4

3 に答える 3

2

別の方法として、javascriptを使用して、タブが変更されたときにCookieを更新することができます。次にページが読み込まれると、Cookieがチェックされ、ユーザーが最後に表示されていたタブが検出され、そのタブがデフォルトのタブとして復元されます(この時点でCookieをクリアすることもできます)。

于 2011-10-04T16:13:15.407 に答える
1

これにはCookieを使用できます。

  1. タブを選択したら、選択したインデックスの値を使用してCookieを(必要に応じて一意の名前で、現在のパスなどに)保存します。
  2. ページの準備ができたら、Cookieを確認します。存在する場合は、値を取得し、適切なタブを選択したとおりに設定します。

ええ、それはクッキーであり、おそらく100%理想的ではありませんが、これは単なるUIシュガーなので、この場合は問題ないと思います。

ちなみに、jQuery UIタブにはこれも組み込まれています:http://jqueryui.com/demos/tabs/#option-cookie

于 2011-10-04T16:18:27.337 に答える
0

フォームを送信しているコントロールの動作をオーバーライドし、そのポストバックで、表示されている現在のタブの値を設定するページにJavaScriptを出力させます。ページ上のJavaScriptを使用して、変数を使用してデフォルトのタブを表示するように設定できます。

于 2011-10-04T15:16:40.990 に答える