Відповіді:
Змініть цей рядок від контакту від
var contactForm = new VarienForm('contactFormNew', true);
з
var contactForm = new VarienForm('contactFormNew', false);
Другий параметр означає "фокусування на першому полі". Ось чому ви отримуєте прокрутку вниз.
Якщо ви працюєте в компанії, яка надає аутсорсинг розвитку, як я, ви, можливо, не зможете отримати доступ до шаблону форми. У цьому випадку ви не зможете змінити аргументи функції 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);
})();