Página com formulário de contato rola para baixo no carregamento


10

Estou com um problema no meu site. Ao carregar, rola automaticamente para o fundo.

É porque existe um formulário de contato com foco no nome. Como posso remover esse foco?

Local

Respostas:


23

Mude esta linha do contato de

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

com

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

O segundo parâmetro significa "foco no primeiro campo". É por isso que você obtém o rolagem para baixo.


Resolver meu problema, role para baixo.
Sourav

1

Se você trabalha para uma empresa que terceiriza o desenvolvimento de back-end, como eu, talvez não consiga acessar o modelo de formulário. Nesse caso, você não poderá alterar os argumentos da função VarienForm. (Se você pode alterar esses argumentos, de acordo com a resposta aprovada, deve).


Você pode adicionar o código (fornecido abaixo) ao corpo da página afetada em uma <script>tag.

Para resumir, o código espera pela primeira vez que o elemento focado é alterado, depois desfoca esse elemento e redefine a rolagem para o topo da página. Se nada acontecer dentro de dez segundos após a execução do script, ele será desativado. Essa é apenas uma salvaguarda para impedir que o script seja executado para sempre no caso de um erro.

//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);

})();
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.