मेरे पास थोड़ा असामान्य रूप से संबंधित समस्या है। मेरा वेब ऐप बारकोड रीडर से स्कैनर इनपुट के लिए सुनता है।एक फॉर्म जमा करने की नई लाइन रोकें?
~100.0101~\n
जहां \n
एक नई पंक्ति है: बारकोड रीडर निम्न स्वरूप में कुंजीपटल इनपुट के रूप में प्रस्तुत करता है। मैं एक रेगेक्स के साथ एक वैश्विक जावास्क्रिप्ट श्रोता का उपयोग करता हूं - जब भी श्रोता 'हेर्स' इनपुट रेगेक्स से मेल खाता है, तो मैं अपना barcodeHandler()
फ़ंक्शन कॉल करता हूं।
दुर्भाग्यवश, यह फ़ॉर्म के साथ अच्छी तरह से बातचीत नहीं करता है: यदि उपयोगकर्ता स्कैन करते समय फॉर्म इनपुट पर ध्यान केंद्रित करता है, तो फॉर्म सबमिट किया जाता है और श्रोता के आने से पहले पोस्ट करता है, क्योंकि फॉर्म \n
'सबमिट करने के लिए होता है '।
मैं स्कैनर इनपुट नहीं बदल सकता, तो क्या कोई तरीका है कि मैं \n
दर्ज होने पर फ़ॉर्म सबमिट करने से रोक सकता हूं?
जाहिर है, मैं अभी भी अपने फॉर्म को एंटर कुंजी के साथ काम करना पसंद करूंगा, और यदि संभव हो तो मैं डिफ़ॉल्ट रूप व्यवहार को बदलना नहीं चाहूंगा!
बहुत धन्यवाद!
आप jQuery का उपयोग करें और कुंजी कार्यों पर एक विशेष समारोह आवंटित और event.preventDefault करना() कर सकते हैं; फ़ॉर्म को सबमिट करने के रूप में संसाधित होने से "एंटर" कुंजी को रोकने के लिए। – ITroubs
धन्यवाद - हालांकि मुझे वास्तव में काम करने के लिए एंटर कुंजी पसंद है - बस बारकोड स्कैनर द्वारा प्रदान की गई \ n' नहीं। क्या दोनों के बीच अंतर करने का कोई तरीका है? – AP257
आह, रेगेक्स का पहला भाग मिलान होने पर मैं ईवेंट श्रोता को लागू कर सकता हूं। यह काम करता है। – AP257