2011-12-29 8 views
7

उदाहरण के लिए, ताज़ा लोड किए गए फॉर्म में <input type="text"> होता है जिसमें एक हरा पृष्ठभूमि रंग होता है। एक बार जब उपयोगकर्ता फ़ील्ड में मूल्य डालता है, तो मैं इसके बजाय रंगीन नीला होना चाहता हूं।खाली होने पर टेक्स्ट फ़ील्ड इनपुट करने के लिए विभिन्न शैलियों को लागू करें (सीएसएस का उपयोग करके)?

क्या यह पूरी तरह से सीएसएस का उपयोग करके इसे पूरा करना संभव है? मैं समझता हूं कि input[type='text'][value] चयनकर्ता है। हालांकि, यह लोड होने के बाद उपयोगकर्ता द्वारा बनाए गए फॉर्म में किए गए किसी भी बदलाव को प्रतिबिंबित नहीं करता है, इसलिए यदि कोई मूल्य के साथ लोड किया गया फॉर्म, तो उपयोगकर्ता द्वारा किए गए कार्यों के बावजूद यह अपरिवर्तित रहेगा।

उत्तर

11

आप पाठ फ़ील्ड required विशेषता दे सकता है:

<input type="text" required /> 

और फिर सीएसएस के साथ वैधता के लिए जाँच:

input:invalid { background: green; } 

या विपरीत (केवल विभिन्न पुराने ब्राउज़र):

input:valid { background: blue; } 
+0

यदि आप एक्सएमएल सिंटैक्स में लिख रहे हैं, तो आप उस विशेषता को 'आवश्यक =' आवश्यक '' ... – BoltClock

+0

में विस्तारित करना चाहते हैं, मैं इसके लिए आवश्यक विशेषता क्यों बल दूंगा? यह एक अच्छा समाधान नहीं है – vsync

+0

@vsync यदि फ़ील्ड आवश्यक नहीं है, तो मैं सहमत हूं। पूरी तरह से स्टाइल के लिए, यह एक अच्छा समाधान नहीं है। यदि क्षेत्र की आवश्यकता है, तो यह है। – Rudie

1

आप केवल जावास्क्रिप्ट का उपयोग कर ऐसा कर सकते हैं। Here's an example जो jQuery का उपयोग करता है।

यदि आप को केवल focus पर बदलना चाहते हैं, तो आप उपयुक्त नाम :focus छद्म चयनकर्ता का उपयोग कर सकते हैं। Here's an example of this

+1

आह ठीक है, मैं स्टाइलशीट तक सीमित दिखने की उम्मीद कर रहा था। लिपि के लिए धन्यवाद, और जेएस उपकरण। – Alkenrinnstet

+1

निश्चित रूप से। 'फोकस' एक सभ्य छद्म चयनकर्ता है जो आप चाहते हैं कि बहुत कुछ करेगा, लेकिन हम अब इतना अनुकूलन के लिए उपयोग किया जाता है जो जेएस पर भारी निर्भर करता है। C'est ला vie। –

संबंधित मुद्दे

 संबंधित मुद्दे