2011-12-22 12 views
15

मैं $("#text").val() का उपयोग टेक्स्टरेरा फ़ील्ड से टेक्स्ट प्राप्त करने और AJAX के माध्यम से भेजने के लिए कर रहा हूं, लेकिन लाइनरेक्स (मेरा मतलब है \r\n टेक्स्टरेरा में) गायब हो जाता है ... यह क्यों हो सकता है और इसे कैसे रोकें?jQuery .val() फ़ंक्शन textarea से ' r n' साफ़ करता है - क्यों?

धन्यवाद!

+1

हो सकता है, ('मान') .prop कोशिश im यकीन है कि अगर यह .val() के रूप में ही काम करेगा नहीं है, लेकिन वह गूंगा तरह का है कि पट्टी बाहर है। – Matt

उत्तर

19

the documentation for val() से लिया:

नोट: वर्तमान में,() .val का उपयोग कर पाठ क्षेत्र तत्वों पर ब्राउज़र-सूचना दी मूल्य से गाड़ी वापसी पात्रों स्ट्रिप्स। जब यह मान एक्सएचआर के माध्यम से सर्वर पर भेजा जाता है, हालांकि, कैरिज रिटर्न संरक्षित होते हैं (या ब्राउज़र द्वारा जोड़े गए हैं जो उन्हें कच्चे मूल्य में शामिल नहीं करते हैं)। इस समस्या के लिए एक वैकल्पिक हल एक valHook का उपयोग कर के रूप में निम्नानुसार प्राप्त किया जा सकता:

$.valHooks.textarea = { 
    get: function(elem) { 
     return elem.value.replace(/\r?\n/g, "\r\n"); 
    } }; 

अपने जावास्क्रिप्ट को ऊपर टुकड़ा जोड़ने textareas के लिए val() के डिफ़ॉल्ट व्यवहार को पार कर जाएगी और रिक्त स्थान को सुरक्षित करेगा।

See here for jsFiddle.

+0

'html() 'ने भी टेक्स्ट हटा दिया ... –

+0

मैंने किया:' $ ("# text")। Html() '। –

+0

अभ्यास पर इसका उपयोग कैसे करें? पहले valHooks परिभाषित करें और 'val()' या क्या उपयोग करें? –

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