2010-08-09 16 views
5

कुछ jQuery सत्यापन करने की कोशिश कर रहा है (प्लगइन के बिना - कृपया कोई जवाब नहीं है "बस वैध-जेएस प्लगइन का उपयोग करें")।jQuery .keyPress() - इनपुट ट्रिगर किए गए इनपुट का मूल्य कैसे प्राप्त करें?

मैं एक क्लाइंट-साइड ईवेंट हैंडलर keypress तारों कर रहा हूँ प्रत्येक "आवश्यक फ़ील्ड के लिए" दस्तावेज़ तैयार पर:

$(document).ready(function() { 
    $('#myform input.required').each(function() { 
    $(this).keypress(onRequiredFieldKeyPress); 
    }); 
}); 

कौन सा सही ढंग से प्रत्येक कुंजी दबाने पर इस ईवेंट सक्रिय:

function onRequiredFieldKeyPress() { 
    if ($(this).val().trim() == '') { 
     $(this).next('em').html('*').show(); // show req field indicator 
    } else { 
     $(this).next('em').html('*').hide(); // hide req field indicator 
    } 
} 

लेकिन $ (यह) .val() हमेशा शून्य/खाली होता है। ऐसा लगता है कि यह एक "HTMLInputElement" में गुजर रहा है, जो मैं अपेक्षा करता हूं, लेकिन यह लगभग प्रोजेक्ट किसी अन्य jQuery प्रकार में है?

अनिवार्य रूप से मैं ऐसा करने की कोशिश कर रहा हूं: किसी भी क्षेत्र की कीप्रेस घटना पर जिस पर मैंने वायर्ड-अप किया है (जो सभी इनपुट तत्व हैं), उस फ़ंक्शन को कॉल करें। उस फ़ंक्शन में, यदि उस फ़ील्ड में '' (खाली) का मान है, तो एक छुपा फ़ील्ड दिखाएं जो एक आवश्यक फ़ील्ड सूचक प्रदर्शित करता है।

मुझे वास्तव में परवाह नहीं है जो वास्तविक तत्व ने कुंजीपटल को निकाल दिया, क्योंकि मेरे तर्क का व्यवहार वही होगा। मुझे सिर्फ वास्तविक मूल्य प्राप्त करने की आवश्यकता है।

क्या मुझे कुछ याद आ रही है?

उत्तर

9

क्योंकि आप कुंजी प्रेस घटना का उपयोग कर रहे हैं।
1. कुंजी नीचे: जब कुंजी दबाएँ
है 2. कुंजी पकड़: कुंजी प्रेस 3 चरण है कुंजी को दबाए रखें है
3. कुंजी अप: कुंजी छोड़ दें
आपके मामले में है, समस्या का उपयोग करके हल किया जा सकता कीप इवेंट

$(document).ready(function() { 
    $('#myform input.required').each(function() { 
    $(this).keyup(onRequiredFieldKeyPress); 
    }); 
}); 
+0

हाँ, वह था। धन्यवाद! – RPM1984

1

event.currentTarget का उपयोग करने का प्रयास करें, जहां ईवेंट आपके फ़ंक्शन का पहला param है।

यहाँ देखें: http://api.jquery.com/event.currentTarget

+0

वही चीज़ (इस) ... (HtmlInputElement) देता है। मुझे लगता है कि मुझे सही चीज़ मिल रही है, बस यह नहीं पता कि कीप्रेस घटना से मूल्य कैसे प्राप्त करें। – RPM1984

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