La page avec le formulaire de contact défile vers le bas lors du chargement

10

J'ai un problème avec mon site Internet. Au chargement, il défile automatiquement vers le bas.

C'est parce qu'il existe un formulaire de contact axé sur le nom. Comment puis-je supprimer ce focus?

Site

Marco
la source

Réponses:

23

Modifier cette ligne du contact de

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

avec

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

Le deuxième paramètre signifie "se concentrer sur le premier champ". C'est pourquoi vous obtenez le défilement vers le bas.

Marius
la source
Résoudre mon problème faites défiler vers le bas.
Sourav
1

Si vous travaillez pour une entreprise qui sous-traite le développement back-end, comme moi, vous ne pourrez peut-être pas accéder au modèle de formulaire. Dans ce cas, vous ne pourrez pas modifier les arguments de la fonction VarienForm. (Si vous pouvez modifier ces arguments, conformément à la réponse approuvée, vous devriez.)


Vous pouvez ajouter le code (fourni ci-dessous) au corps de votre page affectée dans une <script>balise.

Pour résumer, le code attend la première fois que l'élément focalisé change, puis efface cet élément et réinitialise le défilement vers le haut de la page. Si rien ne se produit dans les dix secondes suivant l'exécution du script, il s'éteindra. Ceci est juste une sauvegarde pour empêcher le script de s'exécuter indéfiniment en cas d'erreur.

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

})();
Polyducks
la source