#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);
}
Таким образом, вы получите верхнюю часть вашего элемента и прокрутите до нее в текущем окне.