0

私は購入プロセスに取り組んでいます。このプロセスは4つのステップで構成されています。最初の2つのステップは、すべての顧客データを取り込む場所です。3番目のステップでは、AJAXを使用してデータをサーバーに送信し、支払いフォームを表示します。支払い後、顧客はステップ4で感謝されます。

私の質問はステップ1とステップ2についてです。現在、これらのステップはすべて同じページにあります。1つのフォームを2つに分割してい<div>ます。最初のステップでは、2番目のdivが非表示になり(css:){display:none;}、顧客がステップ2に進むと、最初のdivはjQueryで非表示にhide()なり、2番目のdivはjQueryで表示されshow()ます。

私の問題は、Webブラウザの「戻る」ボタンを使用してステップ1に戻る可能性を顧客に求めていることです。これは、現在は明らかに機能していません。このための純粋なJavaScriptソリューションはありますか?とにかくjsをアクティブ化するようにユーザーに要求します。それとも、セッションの使用を開始する方が良いですか?このサイトはPHPに基づいています。

私の考えや問題を理解している人がいるかどうかを確認します。

4

3 に答える 3

1

Ajaxと戻るボタンは通常一緒にうまく機能しません。「戻る」リンクを提供するだけです。しかし、最初のフォームを再度送信した場合、これには問題がありますか?余分なエントリや孤立したエントリが発生しますか?

于 2010-03-08T22:44:56.567 に答える
1

URLフラグメント(#の後のビット)を変更すると、ブラウザの履歴エントリが作成されます。多くのWebアプリはこれを利用して、あなたが説明していることを実行します。jQuery BBQプラグイン(デモはこちら)をご覧ください。

于 2010-03-08T22:57:26.677 に答える
0

このための最も簡単なチート(そして信頼性にはほど遠い)は、特に「window.unload」イベントをリッスンするjavascript関数を使用することですが、これは、ユーザーがフォームの2番目の部分を表示し、送信をヒットしていない場合に限ります。ボタンまたは別のページ(リンクなど)に送信または移動するために設定したその他のもの。

しかし、これはかなり煩わしいものであり、ユーザーは本当にページを離れたいだけかもしれません。ユーザーが2番目のフォームからクリックして戻ってきた場合にのみfalseを返したいので、タイミングを正しく設定するのは困難です。他の何か(必要なものを含む)のためにページを離れることはありません。彼らが実際にウィンドウを閉じたい場合(それを侵害しないようにする必要があります)、それは台無しになる可能性があります。そして基本的に、私が知る限り、ユーザーが戻るボタンをクリックするためのクロスブラウザーjavascriptイベントはありません。しかし、他の誰かがそうでないかもしれません。

しかし、タイミングを考えてリスクを冒してもかまわないのであれば、それは巧妙なトリックになります。

于 2010-03-08T23:06:42.037 に答える