การโฟกัสฟอร์ม html เริ่มต้นโดยไม่มี JavaScript


159

เป็นไปได้หรือไม่ที่จะตั้งค่าโฟกัสอินพุตเริ่มต้นบนฟอร์ม HTML โดยไม่ใช้ JavaScript ตัวอย่างเช่น

<html>
  <form>
    Input 1: <input type="text" name="textbox1"/>
    <br/>
    Input 2: <input type="text" name="textbox2"/>
  </form>
</html>

ฉันต้องการตั้งค่าโฟกัสเริ่มต้นเป็นกล่องข้อความอย่างใดอย่างหนึ่งเมื่อโหลดแบบฟอร์มโดยไม่ต้องใช้ JavaScript (เนื่องจากฉันต้องการให้พฤติกรรมเกิดขึ้นเมื่อผู้ใช้ปิดการใช้งาน js)

คำตอบ:


292

คุณสามารถทำได้ใน HTML5 แต่ไม่เช่นนั้นคุณต้องใช้ JavaScript

HTML5 ช่วยให้คุณสามารถเพิ่มautofocusองค์ประกอบแบบฟอร์มของคุณเช่น:

<input type="text" name="myInput" autofocus />

มันใช้งานได้ในเบราว์เซอร์ที่รองรับ HTML5 (หรือมากกว่าเบราว์เซอร์ที่รองรับส่วนนี้ของ HTML5) แต่อย่างที่คุณทราบทุกคนไม่สามารถใช้งานได้


22

สิ่งที่ต้องระวัง ... หากคุณตั้งองค์ประกอบขององค์ประกอบที่มุ่งเน้นผู้ที่ใช้ Assisted Technology (AT) เช่นโปรแกรมอ่านหน้าจอจะต้องสำรองข้อมูลเพื่อดูเมนูและเนื้อหาอื่น ๆ ที่อยู่ก่อนฟิลด์โฟกัส

วิธีการที่ต้องการในความคิดของฉันคือไม่ได้ตั้งโฟกัสไปที่ฟิลด์ใด ๆ ยกเว้นลิงค์ข้ามหากมี ที่ให้พวกเขามีตัวเลือกที่จะข้ามเข้าไปในเนื้อหาของหน้าหรืออ่านหน้าจากบนลงล่าง


การเพิ่มลิงค์ข้ามซึ่งซ่อนอยู่ด้วยเช่นกัน
James Cazzetta

ฉันมีมากที่จะเรียนรู้เกี่ยวกับการเข้าถึง ขอบคุณที่เพิ่มคำตอบนี้เพื่อช่วยให้พวกเราที่เหลือได้เรียนรู้!
Andrew Steitz

3

อย่างที่คนอื่น ๆ พูดกันถ้าไม่มี Javascript คุณจะไม่สามารถรับประกันฟิลด์เริ่มต้น ตัวเลือกอื่นที่คุณอาจต้องการลองใช้หากคุณมีหลายฟิลด์ที่ผู้ใช้อาจต้องการเข้าถึงกำลังใช้งานaccesskeyแอตทริบิวต์ นี่จะหมายถึงว่าผู้ใช้สามารถกลับไปยังฟิลด์ใดฟิลด์หนึ่งในภายหลังในระหว่างการเรียกดูซึ่งอาจเป็นประโยชน์สำหรับผู้ใช้โปรแกรมอ่านหน้าจอ ฯลฯ ...

บทความ Wikipedias ในหัวข้อนี้ค่อนข้างมีประโยชน์ - http://en.wikipedia.org/wiki/Access_key


0

สิ่งนี้เป็นไปไม่ได้หากไม่มีสคริปต์บางรูปแบบ แม้แต่หน้าแรกของ Google ก็ยังต้องการจาวาสคริปต์เพื่อมุ่งเน้นไปที่ช่องค้นหา


1
มันคือ. Google เพิ่งเพิ่มจาวาสคริปต์สำหรับเบราว์เซอร์ที่ไม่รองรับ HTML5 สิ่งที่ควรพิจารณาในแอพใด ๆ
mvbrakel

-8

คุณอาจจะสามารถใช้แอตทริบิวต์tabindexและใช้ค่าต่ำสุดในช่องข้อความเริ่มต้นว่า ตรวจสอบที่นี่เพื่อรับการสนับสนุนเบราว์เซอร์:

http://reference.sitepoint.com/html/object/tabindex#compatibilitysection

เว็บไซต์แนะนำว่า

(ในเกือบทุกกรณี - คือการควบคุมรูปแบบและลิงค์ - tabindex มีการสนับสนุนที่ดีเยี่ยม)


3
แอตทริบิวต์ "tabindex" ไม่ได้ให้ความสำคัญกับองค์ประกอบใด ๆ โดยอัตโนมัติแม้แต่องค์ประกอบที่มี "tabindex = 1" จำเป็นต้องกด <tab> (หรือคลิก) ให้ความสำคัญกับองค์ประกอบแรกในลำดับแท็บ
Clint Pachl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.