Puedes guardar el identificador del botón en una
cookie
o en
almacenamiento local, leerlo al retornar a la página y desplazar la barra vertical hasta la posición de dicho elemento mediante el método
.scrollIntoView()
.
Una manera más sencilla de darle solución a esto sería si guardaras los datos mediante una petición asíncrona (AJAX), de tal forma que la ventana no se recarga y el usuario puede seguir navegando mientras la información se almacena.
Código Javascript
:
Ver originalvar form = document.querySelector("#id_del_formulario");
form.addEventListener("submit", function(event){
event.preventDefault();
let self = this,
ajax = new XMLHttpRequest(),
data = new FormData(self);
ajax.open("POST", self.action, true);
ajax.send(data);
ajax.addEventListener("load", function(){
this.status == 200 && alert("Datos guardados");
self.reset();
});
}, false);
En esencia, el código anterior envía los datos del formulario hacia la dirección establecida en el atributo
action
del formulario (en donde se van a guardar los datos). Una vez que dicha operación se ha completado, se muestra un mensaje de alerta avisándole al usuario que los datos se han guardado para, finalmente, dejar los campos del formulario en blanco. Todo ello se realiza sin la necesidad de recargar la ventana, por lo cual ya no es necesario tomar la posición del botón del formulario para hacer el
scroll hacia su ubicación.
EDITO: Estuve escribiendo esto antes de que se publicaran las respuestas que ahora veo. Si dices que no puedes emplear AJAX, te sugiero tomar la primera opción que menciono.