La página con el formulario de contacto se desplaza hacia abajo en la carga


10

Tengo un problema con mi sitio web. Al cargarlo, se desplaza automáticamente hacia abajo.

Es porque hay un formulario de contacto con enfoque en el nombre. ¿Cómo puedo eliminar este enfoque?

Sitio

Respuestas:


23

Cambie esta línea desde el contacto de

var contactForm = new VarienForm('contactFormNew', true);

con

var contactForm = new VarienForm('contactFormNew', false);

El segundo parámetro significa "centrarse en el primer campo". Es por eso que obtienes el desplazamiento hacia abajo.


Resuelve mi problema desplazate hacia abajo.
Sourav

1

Si trabaja para una empresa que externaliza el desarrollo de back-end, como lo hago yo, es posible que no pueda acceder a la plantilla de formulario. En este caso, no podrá cambiar los argumentos de la función VarienForm. (Si puede cambiar estos argumentos, según la respuesta aprobada, debería hacerlo).


Puede agregar el código (que se proporciona a continuación) al cuerpo de su página afectada dentro de una <script>etiqueta.

Para resumir, el código espera por primera vez que el elemento enfocado cambia, luego desenfoca ese elemento y restablece el desplazamiento a la parte superior de la página. Si no sucede nada dentro de los diez segundos posteriores a la ejecución del script, se apagará solo. Esto es solo una salvaguarda para evitar que el script se ejecute para siempre en caso de error.

//KILL AUTOFOCUS
(function(){
    var lastActiveElement = document.activeElement;
    //time elapsed in MS
    var time = 0;
    //stop checking after 10 seconds
    var stopTime = 10000;
    //interval to check for changes
    var intervalTime = 20;

    function _Check_For_Form_Validation(){
        if ( document.activeElement != lastActiveElement ){
            document.activeElement.blur();
            document.documentElement.scrollTop = 0;
            clearInterval( interval );
        }
        if ( time >= stopTime ){
            clearInterval( interval );
        }
    }

    var interval = setInterval( function(){
        time += intervalTime;
        _Check_For_Form_Validation();
    }, intervalTime);

})();
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.