带有联系表单的页面在加载时滚动到底部


10

我的网站有问题。加载时,它会自动滚动到底部。

这是因为存在一个以姓名为重点的联系表。如何删除此焦点?

现场

Answers:


23

从联系人更改此行

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

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

第二个参数表示“专注于第一场”。这就是为什么您会向下滚动。


解决我的问题滚动到底部。
Sourav

1

如果您像我一样在外包后端开发的公司工作,则可能无法访问表单模板。在这种情况下,您将无法更改VarienForm函数的参数。(如果您可以按照批准的答案更改这些参数,则应该这样做。)


您可以将代码(下面提供)添加到<script>标签内受影响页面的正文中。

总而言之,代码在焦点元素第一次更改时等待,然后取消模糊该元素并将滚动条重置到页面顶部。如果在脚本运行的十秒钟内没有任何反应,它将自动关闭。这只是一种防止脚本在出现错误时永久运行的保护措施。

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

})();
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.