0

下部にフォームがあるページがあります。エラーがあると投稿時にフォームが再表示されるため、フォームアクションでフラグメント識別子を使用します。ユーザーが下にスクロールして修正する必要はありません。

フォームが正常に処理されると、同じページへのリダイレクトを実行し、確認メッセージを表示します。私が抱えている問題は、ブラウザが 302 リダイレクト時にフラグメント識別子を保持することです。ブラウザにフラグメント識別子を強制的にクリア/削除させるトリックはありますか?


ユーザー プロファイル ページを見ているとしましょう。そのページにはアドレス フォームがあります。フォーム アクションは/user/profile#AddressForm. フォームがエラーで送信された場合、ユーザーがエラーを修正できるように、ページはアドレス フォームまで自動的にスクロールされます。/user/profileエラーがなければ、フラグメント識別子を持たないにリダイレクトしたいと思います。私が直面している問題は、ブラウザがフラグメント識別子を保持し、ページが上部にとどまるのではなく、フォームにスクロールダウンすることです。

4

1 に答える 1

1

アップデート

実際の問題が何であるかがわかったので、存在しないアンカーへのリダイレクトを提案します

header ('Location: /user/profile#top');

がある。

$form->setAction ($this->getRequest ()->getRequestUri ());
于 2012-11-17T18:09:21.100 に答える