Risposte:
Cambia questa linea dal contatto da
var contactForm = new VarienForm('contactFormNew', true);
con
var contactForm = new VarienForm('contactFormNew', false);
Il secondo parametro significa "focus sul primo campo". Ecco perché ottieni lo scorrimento verso il basso.
Se lavori per un'azienda che esternalizza lo sviluppo del back-end, come faccio io, potresti non essere in grado di accedere al modello di modulo. In questo caso non sarà possibile modificare gli argomenti della funzione VarienForm. (Se puoi modificare questi argomenti, secondo la risposta approvata, dovresti.)
È possibile aggiungere il codice (fornito di seguito) al corpo della pagina interessata all'interno di un <script>
tag.
Per riassumere, il codice attende per la prima volta che l'elemento focalizzato cambia, quindi si slega quell'elemento e reimposta lo scorrimento nella parte superiore della pagina. Se entro dieci secondi dallo script non accade nulla, si spegne automaticamente. Questa è solo una protezione per impedire che lo script venga eseguito per sempre in caso di errore.
//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);
})();