ฉันมีปัญหากับเว็บไซต์ของฉัน เมื่อทำการโหลดมันจะเลื่อนไปที่ด้านล่างโดยอัตโนมัติ
เป็นเพราะมีแบบฟอร์มการติดต่อโดยมุ่งเน้นที่ชื่อ ฉันจะลบโฟกัสนี้ได้อย่างไร
ฉันมีปัญหากับเว็บไซต์ของฉัน เมื่อทำการโหลดมันจะเลื่อนไปที่ด้านล่างโดยอัตโนมัติ
เป็นเพราะมีแบบฟอร์มการติดต่อโดยมุ่งเน้นที่ชื่อ ฉันจะลบโฟกัสนี้ได้อย่างไร
คำตอบ:
เปลี่ยนบรรทัดนี้จากผู้ติดต่อจาก
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);
})();