Antworten:
Ändern Sie diese Zeile aus dem Kontakt von
var contactForm = new VarienForm('contactFormNew', true);
mit
var contactForm = new VarienForm('contactFormNew', false);
Der zweite Parameter bedeutet "Fokus auf erstes Feld". Deshalb erhalten Sie die Abwärtsrolle.
Wenn Sie wie ich für ein Unternehmen arbeiten, das die Back-End-Entwicklung auslagert, können Sie möglicherweise nicht auf die Formularvorlage zugreifen. In diesem Fall können Sie die Argumente der VarienForm-Funktion nicht ändern. (Wenn Sie diese Argumente gemäß der genehmigten Antwort ändern können , sollten Sie dies tun.)
Sie können den Code (siehe unten) innerhalb eines <script>
Tags zum Text Ihrer betroffenen Seite hinzufügen .
Zusammenfassend lässt sich sagen, dass der Code zum ersten Mal wartet, wenn sich das fokussierte Element ändert, dann das Element unscharf macht und den Bildlauf zum oberen Rand der Seite zurücksetzt. Wenn innerhalb von zehn Sekunden nach dem Ausführen des Skripts nichts passiert, wird es sich selbst ausschalten. Dies ist nur ein Schutz, um zu verhindern, dass das Skript im Fehlerfall für immer ausgeführt wird.
//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);
})();