2015-09-23 18 views
7

में अपरिभाषित की संपत्ति 'ट्रिम' नहीं पढ़ सकता है Jquery में स्पेस वर्ण को '% 20' में प्रतिस्थापित करें। लेकिन अन्य रूपों में काम करना एकल रूप में नहीं है। इसमेंUncaught TypeError: Jquery

<header> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> 
</header> 

कोड के रूप में अन्य रूप में इसका उपयोग अच्छी तरह से काम कर रहा है।

var vname = $("#EarningsTypes").val(); 
vname = vname.trim().replace(/ /g, '%20'); 
jQuery.noConflict(); 
+0

vname अपरिभाषित है ... इसमें कुछ भी नहीं है – Akki619

+0

'# कमाई प्रकार' ele शामिल हो सकता है प्रश्न पर 'एचटीएमएल' – guest271314

उत्तर

11

आपको त्रुटि

Uncaught TypeError: Cannot read property 'trim' of undefined in Jquery

मतलब यह है कि हो रही है, चर vnameundefined है। इस त्रुटि को होने से रोकने के लिए, आप स्ट्रिंग के डिफ़ॉल्ट मान को undefined पर स्ट्रिंग के डिफ़ॉल्ट मान को सेट करने के लिए टर्नरी ऑपरेटर का उपयोग कर सकते हैं।

var vname = $("#EarningsTypes").val() == undefined ? '' : $("#EarningsTypes").val().trim(); 
vname = vname.replace(/ /g, '%20'); 

तुम भी || उपयोग कर सकते हैं आप किसी पुराने ब्राउज़र कि trim का समर्थन नहीं करता उपयोग कर रहे हैं डिफ़ॉल्ट मान

var vname = $("#EarningsTypes").val() || ''; 

स्थापित करने के लिए है, तो आप उपयोग कर सकते हैं polyfill from MDN

if (!String.prototype.trim) { 
    String.prototype.trim = function() { 
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); 
    }; 
} 
+6

या बस इसका उपयोग करें: 'var vname = $ ("# कमाई प्रकार")। Val() || "' "। – Jai

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