2013-04-04 6 views
10

क्या जावास्क्रिप्ट के माध्यम से input तत्व पर छद्म-वर्ग :invalid की "उपस्थिति" का पता लगाने का कोई तरीका है?छद्म वर्ग का पता लगाएं: जावास्क्रिप्ट से अमान्य

दूसरे शब्दों में, :invalid छद्म-वर्ग input तत्व पर दिखाई देने पर कुछ जावास्क्रिप्ट कोड को चलाने के लिए कैसे ट्रिगर किया जा सकता है?

+0

शायद आप jQuery का उपयोग नहीं कर सकते हैं लेकिन आपने '$ ('इनपुट') आज़माया है। (': अवैध') 'है? –

+0

क्या आपने '! Input.validity.valid' की कोशिश की है? – Bergi

उत्तर

14

एक अवैध घटना है जिसे आप सुन सकते हैं।

अमान्य घटना को निकाल दिया जाता है जब एक सबमिट करने योग्य तत्व की जांच की जाती है और इसकी बाधाओं को पूरा नहीं करती है। सबमिट करने योग्य तत्वों की वैधता उनके मालिक के फॉर्म को सबमिट करने से पहले या तत्व के चेक वैलिटी() के बाद या उसके मालिक प्रपत्र के नाम से पहले चेक की जाती है।

https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/invalid

वहाँ, कुछ गुण आप तत्वों पर वैधता की जांच करने का उपयोग कर सकते भी कर रहे हैं कि अगर और भी है क्या आप के बाद कर रहे हैं।

.validity.valid

तत्व सब बाधा सत्यापन को पूरा करती है, और इसलिए वैध माना जाता है।

https://developer.mozilla.org/en-US/docs/DOM/ValidityState

संपादित करें: मैं कुछ चीजें के बाद से मैं इस सवाल का ...

के लिए यह सबसे अच्छा spotty है .validity.valid वास्तव में बाधा Constraint Validation API का हिस्सा है, और समर्थन है, जवाब सीखा है जो बहुत बुरा है (उस एपीआई में बहुत सारी चीज़ें हैं)।

हालांकि, कुछ अच्छी तरह से काम करने के लिए प्रतीत होता है querySelectorAll(':invalid'), जो वर्तमान में अमान्य हैं सभी फॉर्म तत्वों का एक गैर-लाइव नोडलिस्ट देता है। आप अपने फॉर्म तत्वों पर addEventListener('change' ..etc, आदि को कॉल कर सकते हैं, और जब भी आग लगती है तो वैधता के लिए क्वेरी।

+1

एचटीएमएल का उपयोग जहां मार्कडाउन उपलब्ध/अधिक उपयुक्त है, क्विर्की पोस्ट स्वरूपण का कारण बन सकता है। Http://stackoverflow.com/editing-help – BoltClock

+0

यह क्रॉस-ब्राउज़र देखें? – jldupont

+0

@jldupont: यह एक मानक है, और प्रत्येक ब्राउजर है जो एचटीएमएल 5 सत्यापन सक्षम है इसका समर्थन करता है। – Bergi

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