Удалить идентификатор фрагмента при перенаправлении 302

У меня есть страница с формой внизу. Я использую идентификатор фрагмента в действии формы, потому что форма повторно отображается в сообщении, когда есть ошибки, и я не хочу, чтобы пользователю приходилось прокручивать ее вниз, чтобы внести исправления.

Когда форма успешно обработана, я выполняю перенаправление на ту же страницу и отображаю подтверждающее сообщение. У меня проблема в том, что браузер сохраняет идентификатор фрагмента при переадресации 302. Есть ли способ заставить браузер очистить/удалить идентификатор фрагмента?


Допустим, я смотрю на страницу профиля пользователя, и на странице есть адресная форма. Действие формы будет /user/profile#AddressForm. Если форма отправлена ​​с ошибками, страница автоматически прокручивается до адресной формы, чтобы пользователь мог исправить ошибки. Если ошибок нет, я хочу перенаправить на /user/profile, у которого нет идентификатора фрагмента. Проблема, с которой я сталкиваюсь, заключается в том, что браузер сохраняет идентификатор фрагмента, и страница прокручивается обратно к форме, а не остается наверху.


person Sonny    schedule 12.11.2012    source источник


Ответы (1)


Обновить

Теперь, когда я вижу, в чем проблема, я бы предложил перенаправить на несуществующий якорь.

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

Там есть.

$form->setAction ($this->getRequest ()->getRequestUri ());
person akond    schedule 17.11.2012
comment
Я не думаю, что вы понимаете проблему. У меня нет проблем с настройкой действия формы. У меня проблема с перенаправлением после этого, потому что браузер сохраняет идентификатор фрагмента, и я хочу, чтобы он исчез. - person Sonny; 19.11.2012
comment
Я думаю, я сделаю. Браузер сохраняет идентификатор фрагмента, только если атрибут действия не установлен. Когда действие задано явно, оно не выполняется. - person akond; 19.11.2012
comment
Я всегда устанавливаю действие. В любом случае, я делаю перенаправление после публикации, поэтому действие формы больше не имеет значения. - person Sonny; 19.11.2012
comment
Я думал, что это может быть единственным решением, но я хотел подтвердить. - person Sonny; 21.11.2012