Сосредоточиться на форме нижнего колонтитула с хешем / фрагментом сохраняет хеш после успешной отправки

У меня есть форма внизу страницы. Это нормальная форма. Я установил действие #adding-show и форма id это "форма". В результате форма отправляется на текущую страницу (браузер не отправляет #adding-show на сервер).

Если представление неверно / не выполнено, форма сфокусирована и видна = хорошо.

Если отправка действительна, сервер перенаправляет браузер на ту же страницу (чтобы избавиться от обратной передачи), без хэша, но браузер "запоминает" хэш, поэтому браузер перенаправляет на #adding-show внизу страницы.

Вкратце: сохранение хеша хорошо, когда отправка недействительна / не удалась, но хеш не должен использоваться, если отправка прошла успешно.

Вопрос: есть ли способ сделать это? Перенаправьте правильно и "забудьте" хеш соответствующим образом. Некоторые JS в порядке. Я могу заставить сервер делать что угодно.

Если вам нравится код, он на Github.

Или же:

<form id="adding-show" method="post" action="#adding-show">

1 ответ

Решение

Я решил это с помощью "условного" JS: https://github.com/rudiedirkx/series/blob/83c74f183d4c10474e2b92d819349120ad0094b6/index.php Он печатается только в том случае, если страница находится в обратной передаче, поэтому форма должна быть выделенным

Другие вопросы по тегам