Jawaban:
Ubah baris ini dari kontak dari
var contactForm = new VarienForm('contactFormNew', true);
dengan
var contactForm = new VarienForm('contactFormNew', false);
Parameter kedua berarti "fokus pada bidang pertama". Itu sebabnya Anda mendapatkan scroll ke bawah.
Jika Anda bekerja untuk perusahaan yang outsourcing pengembangan ujung belakang, seperti yang saya lakukan, Anda mungkin tidak dapat mengakses Templat formulir. Dalam hal ini Anda tidak akan dapat mengubah argumen fungsi VarienForm. (Jika Anda dapat mengubah argumen ini, sesuai jawaban yang disetujui, Anda harus.)
Anda dapat menambahkan kode (disediakan di bawah) ke badan halaman Anda yang terpengaruh dalam sebuah <script>
tag.
Untuk meringkas, kode menunggu untuk pertama kalinya elemen terfokus berubah, kemudian menghapus elemen itu dan mengatur ulang gulir ke bagian atas halaman. Jika tidak ada yang terjadi dalam waktu sepuluh detik dari skrip berjalan, itu akan mati dengan sendirinya. Ini hanya perlindungan untuk mencegah skrip berjalan selamanya jika terjadi kesalahan.
//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);
})();