2016-02-02 10 views
6

मैं एक साधारण इनपुट और इतने की तरह एक Select2 इनपुट के साथ एक रूप है पर पर्चे को जमा करने से अन्य इनपुट से बचाता है: http://codepen.io/anon/pen/QyBxwESelect2 कई प्रवेश

दबाने में प्रवेश करते हुए पहला इनपुट (फार्म प्रस्तुत करना चाहिए इस मामले में केंद्रित है, 404 पेज पर रीडायरेक्ट करें)।

किसी कारण से, एकाधिक चयन 2 इनपुट फ़ॉर्म सबमिट को रोकता है। अगर मैं select2 वर्ग या multiple विशेषता को हटा देता हूं, तो फॉर्म सामान्य रूप से व्यवहार करता है।

सफारी, क्रोम और फ़ायरफ़ॉक्स पर मैक ओएस एक्स योसामेट पर परीक्षण किया गया और यह लगातार सभी ब्राउज़रों पर होता है।

(मैं jQuery 2.1.3 और 4.0.1 Select2 उपयोग कर रहा हूँ)

+0

आपको अपने ईवेंट कैप्चरिंग की जांच करनी होगी; ऐसा लगता है कि इसके कीबोर्ड हैंडलिंग थोड़ा सा हैम-मुट्ठी है। –

उत्तर

4

कैसे रूपों काम है कि जब आप प्रवेश क्लिक करें, यह कुछ डिफ़ॉल्ट संचालन है कि यह पहिले से करने की कोशिश करता है है। पहला फॉर्म फॉर्म जमा करना है। यह केवल तभी काम करता है जब सबमिट करने से फॉर्म को रोकने वाली कोई अन्य जावास्क्रिप्ट नहीं है। डिफ़ॉल्ट 2 को रोककर चयन 2 एकाधिक डिफ़ॉल्ट ऑपरेशन से छुटकारा पाता है। इस तरह जब आप टाइपिंग शुरू करते हैं और एंटर पर क्लिक करते हैं, तो यह स्वचालित रूप से सबमिट नहीं होता है।

समाधान दूसरे प्रकार के डिफ़ॉल्ट विकल्प का उपयोग करना है। उस पृष्ठ पर सबमिट बटन होना है। निकटतम सबमिट बटन पर जाने के साथ फॉर्म और उस पर क्लिक करें। यह ऑपरेशन select2 जावास्क्रिप्ट द्वारा ओवरराइड नहीं किया गया है।

http://codepen.io/anon/pen/yeqxQJ

सिर्फ अपने फार्म के लिए <input type="submit"> जोड़ सकते हैं और जिस तरह से आप यह करना चाहते हैं काम करना चाहिए।

+0

और यदि आपको वास्तव में फ़ॉर्म के बाहर बटन की आवश्यकता है? – Daniella

+0

आप दृश्यता के साथ आंतरिक बटन को छिपाने के लिए सीएसएस का उपयोग कर सकते हैं। मुझे प्रदर्शित करें कि मुझे सबमिट बटन की कार्यक्षमता से छुटकारा नहीं मिलता है। फिर आपके पास फॉर्म तत्व के बाहर '<बटन onclick = "myForm.submit()"> 'हो सकता है। लेकिन अगर आप इसकी मदद कर सकते हैं, तो फॉर्म को बटन भी शामिल करें। – Neoaptt

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