जावास्क्रिप्ट के बिना डिफ़ॉल्ट HTML फॉर्म फोकस


159

उदाहरण के लिए, जावास्क्रिप्ट का उपयोग किए बिना HTML फॉर्म पर डिफ़ॉल्ट इनपुट फ़ोकस सेट करना संभव है:

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

जब मैं जावास्क्रिप्ट का उपयोग किए बिना फ़ॉर्म लोड करता हूं, तो मैं डिफ़ॉल्ट फ़ोकस को टेक्स्ट-बॉक्स में से किसी एक पर सेट करना चाहता हूं (जैसा कि मैं चाहता हूं कि जब उपयोगकर्ता js अक्षम हो तो व्यवहार हो)।

जवाबों:


292

आप इसे HTML5 में कर सकते हैं, लेकिन अन्यथा, आपको जावास्क्रिप्ट का उपयोग करना होगा।

HTML5 आपको autofocusअपने फॉर्म एलिमेंट में जोड़ने की अनुमति देता है , जैसे:

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

यह उन ब्राउज़रों में काम करता है जो HTML5 का समर्थन करते हैं (या बल्कि, ब्राउज़र जो HTML5 के इस विशेष भाग का समर्थन करते हैं) लेकिन जैसा कि आप जानते हैं, हर कोई अभी तक इसका उपयोग नहीं कर सकता है।


22

कुछ के बारे में पता होना चाहिए ... यदि आप एक केंद्रित फ़ॉर्म तत्व सेट करते हैं, तो स्क्रीन रीडर की तरह असिस्टेड टेक्नोलॉजी (एटी) का उपयोग करने वाले किसी व्यक्ति को मेनू देखने के लिए और किसी भी अन्य सामग्री को देखने के लिए बैकअप लेना होगा।

एक पसंदीदा तरीका, मेरी राय में, किसी भी क्षेत्र पर ध्यान केंद्रित नहीं करना है, अगर इसके उपलब्ध होने पर स्किप-लिंक को छोड़कर। इससे उन्हें पृष्ठों की सामग्री को छोड़ने या पृष्ठ को ऊपर से नीचे पढ़ने का विकल्प मिलता है।


एक स्किप-लिंक जोड़ना जो नेत्रहीन भी छिपा हुआ है, लेकिन स्क्रीन्रेडर्स के माध्यम से सुलभ महान होगा!
जेम्स कजेटा

मुझे एक्सेसिबिलिटी के बारे में जानने के लिए बहुत कुछ है। बाकी लोगों को सीखने में मदद करने के लिए इस उत्तर को जोड़ने के लिए धन्यवाद!
एंड्रयू स्टीट्ज

3

जैसा कि दूसरों ने कहा है, जावास्क्रिप्ट के बिना आप एक डिफ़ॉल्ट फ़ील्ड की गारंटी नहीं दे सकते। एक वैकल्पिक विकल्प जिसे आप आज़माना चाह सकते हैं, यदि आपके पास ऐसे कई फ़ील्ड हैं जिन्हें कोई उपयोगकर्ता एक्सेस करना चाहता है तो वह accesskeyविशेषता का उपयोग कर रहा है। इसका अनिवार्य रूप से मतलब यह होगा कि एक उपयोगकर्ता ब्राउज़िंग के दौरान तुरंत बाद के क्षेत्रों में से किसी पर लौट सकता है, जो स्क्रीन रीडर के उपयोगकर्ताओं के लिए काम आ सकता है, आदि ...

इस विषय पर विकिपीडिया लेख काफी उपयोगी है - http://en.wikipedia.org/wiki/Access_key


0

स्क्रिप्टिंग के कुछ रूप के बिना यह संभव नहीं है। यहां तक ​​कि Google के होम पेज को खोज फ़ील्ड पर ध्यान केंद्रित करने के लिए जावास्क्रिप्ट की आवश्यकता होती है।


1
यह है। Google केवल उन ब्राउज़रों के लिए जावास्क्रिप्ट जोड़ता है जो HTML5 का समर्थन नहीं करते हैं। किसी भी ऐप में विचार करने लायक कुछ।
mvbrakel

-8

आप टैबइंडेक्स विशेषता का उपयोग करने में सक्षम हो सकते हैं और डिफ़ॉल्ट टेक्स्टबॉक्स पर सबसे कम मूल्य का उपयोग कर सकते हैं। ब्राउज़र समर्थन के लिए यहां देखें:

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

साइट का सुझाव है कि

(लगभग सभी अन्य मामलों में - अर्थात् प्रपत्र नियंत्रण और लिंक- टैबइंडेक्स का उत्कृष्ट समर्थन है)


3
"टैबइंडेक्स" विशेषता किसी भी तत्व पर स्वचालित ध्यान नहीं देती है, यहां तक ​​कि "टैबइंडेक्स = 1" के साथ एक तत्व भी नहीं। दबाने <टैब> (या एक क्लिक) की आवश्यकता है टैब अनुक्रम में पहले तत्व पर ध्यान दें।
क्लिंट पाच
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.