2010-08-09 16 views
104

मैं() तो जैसे ट्रिम का इस्तेमाल कर रही हूँ:IE8 और JQuery के ट्रिम()

if($('#group_field').val().trim()!=''){ 

कहाँ group_field प्रकार पाठ की एक इनपुट तत्व है। यह फ़ायरफ़ॉक्स में काम करता है लेकिन जब मैं IE8 पर यह कोशिश यह मुझे इस त्रुटि देता है:

Message: Object doesn't support this property or method 

जब मैं ट्रिम() को हटाने, यह IE8 पर ठीक काम करता है। मैंने सोचा कि जिस तरह से मैं ट्रिम() का उपयोग कर रहा हूं वह सही है?

धन्यवाद किसी भी मदद

उत्तर

201

के लिए सभी के बजाय इस प्रयास करें:

if($.trim($('#group_field').val()) != ''){ 

अधिक जानकारी:

+1

धन्यवाद, मैंने सोचा कि JQuery के कार्य श्रृंखला-सक्षम थे और इस तरह वे सभी काम करते थे! – Abs

+0

@ एबीएस: आपका स्वागत है ... – Sarfraz

+38

@Abs: 'val()' एक jQuery ऑब्जेक्ट नहीं लौटाता है, इसलिए चेनिंग विकल्प से बाहर है। आप स्ट्रिंग पर 'ट्रिम()' विधि को कॉल कर रहे थे, लेकिन IE को 'String.trim' के बारे में पता नहीं है। – janmoesen

15

आप $.trim, ली का उपयोग करना चाहिए केई:

if($.trim($('#group_field').val()) !='') { 
    // ... 
} 
11

जहां तक ​​मुझे पता है, जावास्क्रिप्ट स्ट्रिंग में विधि ट्रिम नहीं है। आप समारोह ट्रिम का उपयोग करना चाहते हैं, तो का उपयोग

<script> 
    $.trim(string); 
</script> 
+1

कृपया [w3schools से लिंक न करें] (http://www.w3fools.com/)! –

3

का उपयोग कर टाइप पाठ के साथ ट्रिम इनपुट विश्व स्तर पर jQuery:

/** 
* Trim the site input[type=text] fields globally by removing any whitespace from the 
* beginning and end of a string on input .blur() 
*/ 
$('input[type=text]').blur(function(){ 
    $(this).val($.trim($(this).val())); 
}); 
10

एक अन्य विकल्प के मामले में String पर सीधे विधि को परिभाषित करने के लिए यह कमी है हो जाएगा :

if(typeof String.prototype.trim !== 'function') { 
    String.prototype.trim = function() { 
    //Your implementation here. Might be worth looking at perf comparison at 
    //http://blog.stevenlevithan.com/archives/faster-trim-javascript 
    // 
    //The most common one is perhaps this: 
    return this.replace(/^\s+|\s+$/g, ''); 
    } 
} 

फिर trim ब्राउज़र की परवाह किए बिना काम करेंगे:

var result = " trim me ".trim();