Câu trả lời:
Thay đổi dòng này từ liên hệ từ
var contactForm = new VarienForm('contactFormNew', true);
với
var contactForm = new VarienForm('contactFormNew', false);
Tham số thứ hai có nghĩa là "tập trung vào trường đầu tiên". Đó là lý do tại sao bạn có được cuộn xuống.
Nếu bạn làm việc cho một công ty thuê ngoài phát triển cuối, như tôi làm, bạn có thể không truy cập được mẫu biểu mẫu. Trong trường hợp này, bạn sẽ không thể thay đổi các đối số của hàm VarienForm. (Nếu bạn có thể thay đổi các đối số này, theo câu trả lời được phê duyệt, bạn nên.)
Bạn có thể thêm mã (được cung cấp bên dưới) vào phần thân của trang bị ảnh hưởng trong <script>
thẻ.
Để tóm tắt, mã chờ lần đầu tiên phần tử tập trung thay đổi, sau đó bỏ qua phần tử đó và đặt lại cuộn đến đầu trang. Nếu không có gì xảy ra trong vòng mười giây của tập lệnh đang chạy, nó sẽ tự tắt. Đây chỉ là một biện pháp bảo vệ để ngăn chặn tập lệnh chạy mãi mãi trong trường hợp xảy ra lỗi.
//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);
})();