2009-10-08 13 views
8

मैंने इस सवाल को पोस्ट करने से पहले देखा कि इस विषय पर पहले से ही इसी तरह के प्रश्न पोस्ट किए गए हैं, हालांकि उपयोगकर्ता इस उदाहरण में कीबोर्ड का उपयोग करके टेक्स्ट फ़ील्ड के साथ बातचीत नहीं कर रहा है, ऐसे मामले में टेक्स्ट फ़ील्ड को " चिपकाएं "कार्रवाई या अन्य निफ्टी सुझावों में से कोई भी मेरे मामले में काम नहीं करेगा।JQuery का उपयोग करके, आप कैसे पता लगाते हैं कि फ़ील्ड इनपुट का मूल्य बदल गया है, जबकि फ़ील्ड इनपुट का मूल्य बदल गया है?

हमारे उपयोगकर्ता एक स्ट्रिंग मान इनपुट कर रहे हैं जो बार कोड से स्कैन किया गया है। हम जो करने का प्रयास कर रहे हैं, वह जानकारी में स्कैनिंग के बाद उपयोगकर्ता को स्कैनर को अगले क्षेत्र में जाने के लिए परेशान होने से बचाना है। हालांकि, मुझे टेक्स्ट फ़ील्ड के मान में परिवर्तन का पता लगाने में कोई समस्या है, जबकि यह अभी भी फोकस कर रहा है।

यह उस पहेली का एकमात्र हिस्सा है जिसे हम याद कर रहे हैं, क्योंकि फॉर्म पर अगले फ़ील्ड पर फ़ोकस लागू करना मामूली है। जब कोई इनपुट डिवाइस कीबोर्ड नहीं होता है तो क्या कोई टेक्स्ट फ़ील्ड के मान में परिवर्तन का पता लगाने के बारे में प्रकाश डाल सकता है? मैंने पहले से ही परिवर्तन() घटना का उपयोग करने का प्रयास किया है, लेकिन जब तक फ़ील्ड अब फोकस नहीं कर लेता तब तक यह आग नहीं होता है।

+0

यदि आप अपने स्वयं के बारकोड प्रिंट कर रहे हैं, तो आप कोड के अंत में टैब चरित्र डालने का प्रयास कर सकते हैं, मैंने यह VB.net में इस तरह से काम किया है। – TheVillageIdiot

उत्तर

8

आप बस keypress ईवेंट सुन सकते हैं।

<input type="text" id="target" value="" /> 

var target = $('#target'), 
    val = target.val(); 

function monitor() 
{ 
    var current_val = $(this).val(); 
    if (current_val != val) { 
     console.log('changed from', val, 'to', current_val); 
     val = current_val; 
    } 
} 

target.keypress(monitor); 
+0

कीप्रेस पूरी तरह से काम किया। किसी कारण से मेरे पास कॉलबैक फ़ंक्शन में कोड था जो इनपुट को काट रहा था। धन्यवाद!!! –

+1

आपका स्वागत है। – slikts

+3

माउस के साथ मूल्य डालने के बारे में क्या, या प्रोग्रामेटिक रूप से मूल्य बदलना या ऑटो-फिल फीचर को फॉर्मेट करना? केवल घातक मतदान? – Roman

0

ठीक है, हमेशा क्रूर बल होता है: इसे setInterval() के साथ मतदान करें।

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