मैं पूंजी अक्षरों के लिए टेक्स्टफील्ड में जो कुछ भी लिखता हूं उसे बनाना चाहता हूं। जैसा कि मैं लिखता हूं, फोकस खोने के बाद नहीं।टेक्स्टफील्ड में सबकुछ कैसे करें पूंजी अक्षरों/अपरकेस बनें?
मैं jQuery का उपयोग करके यह कैसे कर सकता हूं?
मैं पूंजी अक्षरों के लिए टेक्स्टफील्ड में जो कुछ भी लिखता हूं उसे बनाना चाहता हूं। जैसा कि मैं लिखता हूं, फोकस खोने के बाद नहीं।टेक्स्टफील्ड में सबकुछ कैसे करें पूंजी अक्षरों/अपरकेस बनें?
मैं jQuery का उपयोग करके यह कैसे कर सकता हूं?
मैं इसके लिए सीएसएस का उपयोग करूंगा।
बस अपनी स्टाइल में text-transform: uppercase
जोड़ें, और उसके बाद सर्वर पक्ष पर आप इसे अपरकेस में परिवर्तित कर सकते हैं।
input {
text-transform: uppercase;
}
$('input[type=text]').keyup(function() {
$(this).val($(this).val().toUpperCase());
});
-1 फोकस खोने के बाद केवल परिवर्तन, नहीं जैसा कि आप टाइप करते हैं। http://jsfiddle.net/XJKgs/ – Greg
मान्य बिंदु, ब्रैंडन के समाधान के साथ इसे क्लाइंट साइड को सही तरीके से बदलने के लिए जोड़ा जाना चाहिए। कुंजीपटल पर अद्यतन करने के लिए कोड को थोड़ा बदल दिया। – Gazler
मैंने अपना डाउनवोट हटा दिया क्योंकि अब यह ओपी पूछता है। लेकिन अगर मैं ऐसी वेबसाइट का उपयोगकर्ता था जिसने यह "कीप" परिवर्तन किया था, ** मैं जिम्मेदार व्यक्ति की तलाश करूँगा **। आपके द्वारा टाइप किए जाने वाले अक्षरों को बदलने से विचलित हो रहा है, और जो आपने टाइप किया है उसे संपादित करने के लिए वापस जाने का प्रयास करना निराशाजनक है क्योंकि कर्सर अंत में आगे बढ़ता रहता है। http://jsfiddle.net/HPapz/1/ – Greg
आपको इनके संयोजन का उपयोग करने की आवश्यकता हो सकती है।
टेक्स्ट-ट्रांसफॉर्म शैली का उपयोग करके केवल ऊपरी मामले में प्रकार प्रस्तुत करता है, हालांकि मान कम मामला हो सकता है।
जावास्क्रिप्ट केवल एक बार क्षेत्र में परिवर्तन या ध्यान केंद्रित आप gazler के jQuery या बस इनलाइन जावास्क्रिप्ट
उदा का उपयोग कर सकते
खो दिया है ऊपरी करने के लिए वर्तमान पाठ बदल जाएगा onBlur = 'जावास्क्रिप्ट: this.value = this.value.toUpperCase();'
इसका मतलब है कि टेक्स्ट मान अपरकेस दिखाई देगा और वास्तव में मूल्य परिवर्तन/नियंत्रण फोकस खोने पर ऊपरी चरण में होगा।
HTH सैम
मैं KeyUp – randomizertech
पर उपयोग कर सकता हूं ऑनब्लूर के साथ एक मुद्दा यह है कि यदि उपयोगकर्ता केवल एंटर कुंजी दबाता है, तो एक फॉर्म सबमिट करने के लिए कहें, टेक्स्ट को अपरकेज़ नहीं किया जाएगा। – Joseph
उपयोग oninput='this.value=this.value.toUpperCase();
इस घटना को इसलिए साथ इस लिखे गए पाठ झिलमिलाहट नहीं होगा उपयोगकर्ता इनपुट (दबाने कुंजी) के बाद लेकिन इससे पहले कि अद्यतन करने (प्रदर्शित मान) निकाल दिया जाता है, बस इस तरह के मामलों के लिए है, कनवर्ट करते समय, और मूल्य भी सही है (वास्तविक डेटा को बदलने के बिना प्रदर्शन को बदलने के लिए केवल शैली का उपयोग करने की तरह नहीं)।
@ Gazler का जवाब, पर एक उन्नत समाधान है कि बेहतर हैंडल संशोधक कुंजियों (यह मानते हुए आप मिश्रित मामले की एक प्लेसहोल्डर है और text-transform: uppercase;
निर्धारित नहीं कर सकते हैं) का निर्माण करने के लिए:
$('.search-input input[type=text]').keyup(function() {
var v = $(this).val();
var u = v.toUpperCase();
if(v != u) $(this).val(u);
})
यदि आप चाहें तो jQuery के साथ प्रोग्रामेटिक रूप से कक्षा, या इस शैली को जोड़ सकते हैं, लेकिन शायद यही आपको चाहिए। –
दिलचस्प दृष्टिकोण – mcgrailm
+1, अच्छा, मैं सभी प्रकार के jquery/js समाधान भी सोच रहा था, लेकिन यह बेहतर है – Michel