2010-11-12 5 views
134

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

उत्तर

235

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

एचटीएमएल 5, आप अपने प्रपत्र तत्व को autofocus जोड़ने की अनुमति देता जैसे:

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

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

+8

ब्राउज़र समर्थन: ओपेरा, सफारी और क्रोम। फ़ायरफ़ॉक्स में संस्करण 4 में होगा। आईई इसका समर्थन नहीं करता है, आईई 9 में भविष्य का समर्थन वर्तमान में अज्ञात है। –

+0

पूरी तरह से काम करता है, धन्यवाद –

+3

[आजकल ब्राउज़र समर्थन] (http://caniuse.com/#search=autofocus)। –

0

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

+0

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

-8

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

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

साइट पता चलता है कि

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

+3

"टैबिंडेक्स" विशेषता किसी भी तत्व को स्वत: फोकस नहीं देती है, न कि "tabindex = 1" के साथ एक तत्व भी। (या एक क्लिक) दबाकर टैब अनुक्रम में पहले तत्व पर ध्यान देना आवश्यक है। –

3

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

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

17

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

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

+0

एक स्किप-लिंक जोड़ना जो दृश्यमान रूप से छुपा हुआ है, लेकिन स्क्रीनreaders के माध्यम से सुलभ होगा! –