Ответы:
Изменить эту строку из контакта с
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);
})();