2010-01-29 15 views
38

मैं एक स्ट्रिंग को जोड़ने की कोशिश कर रहा हूं जो jQuery का उपयोग करके टेक्स्टलाइन में न्यूलाइन में समाप्त होता है। हालांकि, विभिन्न न्यूलाइन टोकन फ़ायरफ़ॉक्स 3.5 और आईई 8 में अलग-अलग व्यवहार दिखाते हैं, और मुझे लगता है कि दोनों ब्राउज़रों के लिए काम करने वाले किसी चीज़ का उपयोग करने का कोई तरीका नहीं दिख रहा है।jQuery textarea न्यूलाइन व्यवहार को जोड़ना

एफएफ में नहीं बल्कि आईई
  • <br/> और IE में, लेकिन में नहीं एफएफ
  • कोई भाग्य \r\n काम <pre></pre> टैग या तो
  • का उपयोग करने में

    • \n काम करता है मैं के बारे में जानकारी को देखा है आईई आंतरिक HTML मुद्दा लेकिन मुझे बिल्कुल यकीन नहीं है कि jQuery में इस समस्या का सर्वोत्तम तरीके से कैसे संपर्क करें। किसी भी मदद के लिए धन्यवाद!

    उत्तर

    73

    सुनिश्चित नहीं हैं कि कैसे आप पाठ क्षेत्र सामग्री सेट कर रहे हैं, लेकिन अगर आप jQuery val विधि का उपयोग करें, \n Firefox और IE (IE8 सहित) में लगातार काम करता है:

    मौजूदा सामग्री
    और लाइनब्रेक यदि कोई हो:

    var txt = $("textarea#idhere"); 
    txt.val(txt.val() + "\nSomething here\n\nAgain"); 
    

    प्रदर्शित करने के लिए पाठ क्षेत्र का कारण बनता है।
    कुछ यहाँ

    फिर

    आप एक डेमो यहाँ कि एफएफ और IE8 में काम करता है देख सकते हैं: Demo | Source

    +0

    धन्यवाद, यह काम करता है! क्या आप जानते हैं कि यह परिशिष्ट() की तुलना में कैसा प्रदर्शन करता है? – Suan

    +0

    इसके अलावा, आश्चर्य की बात है कि, 'textarea.empty() 'काम नहीं करता है जब आप' val() 'का उपयोग करते हैं। (जब मैं 'append() ') का उपयोग करता था तो यह काम करता था। आप इसे देखने के लिए http://jsbin.com/unali/3/edit पर वापस जा सकते हैं। वास्तव में साफ उपकरण बीटीडब्ल्यू! – Suan

    +1

    @Suan, यह '.append()' से तेज़ प्रदर्शन करेगा क्योंकि यह डीओएम के साथ एक बनाम बनाम गड़बड़ कर रहा है। साथ ही, textarea को खाली करने के लिए बस '.val (' ')' पर कॉल करें। "पुराने स्कूल जेएस" में आप इस तरह एक टेक्स्टरेरा मान प्राप्त करेंगे/सेट करेंगे: 'var txt = document.getElementById ('idhere'); txt.value + = "\ n यहाँ कुछ \ n \ n प्राप्त करें"; 'देखें कि यह एक विशेषता बनाम डीओएम तत्वों का उपयोग कैसे करता है? –

    0

    क्या [enter] कुंजी दबाकर आपके लिए IE8 में एक नई पंक्ति है? आप क्या इस सवाल का जवाब पता चलता है क्या करना है हो सकता है: enter does not work in textarea in Internet Explorer 8

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