Привязка привязки при отправке

#php #html #css

#php #HTML #css

Вопрос:

Когда моя контактная форма не отправляется из-за пустых полей, сайт перезагружается и перед формой отображается сообщение об ошибке. Когда все в порядке, отображается сообщение «успешно». Проблема в том, что контактная форма находится в нижнем колонтитуле, и вы не можете увидеть ни одно сообщение, не прокрутив его самостоятельно после отправки формы.

Я пробовал это с помощью кнопки отправки, хотя это не работает.

 <input type="submit" value="Send" onsubmit="location.href='#footer';">
  

Нижний колонтитул — это идентификатор, в который я хочу отправить пользователя после отправки.

Есть идеи?

Спасибо!

Редактировать

Использование «index.php?#footer» вместо одного идентификатора, похоже, работает в случае сообщения об ошибке, а не в случае успеха по какой-то причине….

Комментарии:

1. Поскольку вы перезагружаете страницу, Javascript с предыдущей страницы не оказывает никакого эффекта. Вам нужно использовать перенаправление на #footer .

Ответ №1:

Вы можете добавить #footer к action значению формы

 <form action="/some_path/#footer">
  <input type="submit" value="Send">
</form>
  

Ответ №2:

Я думаю, вы хотите сначала получить позицию вашего элемента. Назовите это следующим образом:

<input type="submit" value="Send" onsubmit="anchorfunction('#footer');">

Тогда ваша функция JS должна выглядеть следующим образом:

function anchorfunction(elem) {
var top = document.getElementById(elem).offsetTop;
window.scrollTo(0, top);
}

Таким образом, вы получите верхнюю часть вашего элемента и прокрутите до нее в текущем окне.