कैसे jquery में एक textarea के मूल्य प्राप्त करने के लिए?


82

मेरे पास यह फ़ॉर्म है और पाठ क्षेत्र से मान प्राप्त करने की कोशिश कर रहा हूं। किसी कारण से यह नहीं करना चाहता है।

<form action="/profile/index/sendmessage" method="post" enctype="application/x-www-form-urlencoded">
    <div class="upload_form">
        <dt id="message-label"><label class="optional" for="message">Enter Message</label></dt>
        <dd id="message-element">
        <textarea cols="60" rows="5" id="message" name="message"></textarea></dd>
        <dt id="id-label">&nbsp;</dt>
        <dd id="id-element">
        <input type="hidden" id="id" value="145198" name="id"></dd>
        <dt id="send_message-label">&nbsp;</dt>
        <dd id="send_message-element">
        <input type="submit" class="sendamessage" value="Send" id="send_message" name="send_message"></dd>
    </div>
</form>


$("input.sendamessage").click(function(event) {
    event.preventDefault();

    var message = $('textarea#message').html();
    var id      = $('input#id').val();

    console.log(message + '-' + id);
});

या jsfiddle

कोई विचार?

जवाबों:


158

Textarea का मूल्य भी valविधि के साथ लिया जाता है:

var message = $('textarea#message').val();




5

आपको उपयोग करने की आवश्यकता नहीं है textarea#message

var message = $('textarea#message').val();

आप सीधे उपयोग कर सकते हैं

var message = $('#message').val();

2

आपको वालर () का उपयोग करने से पहले textarea की जांच करनी चाहिए, अन्यथा, आपको अपरिभाषित त्रुटि मिलेगी।

if ($('textarea#message') != undefined) {
   var message = $('textarea#message').val();
}

तब, आप संदेश के साथ जो कुछ भी कर सकते थे।


यह गलत है। jQuery किसी भी प्रश्न के लिए अपरिभाषित नहीं है। इसके बजाय, यह एक खाली सेट लौटाता है। हालाँकि, खाली सेट पर वैल कॉल करना अपरिभाषित है, लेकिन आपका उत्तर इस समस्या को हल नहीं करता है।
१६:२० पर शीआनग

2

$('textarea#message')अपरिभाषित नहीं किया जा सकता है (यदि $आप पाठ्यक्रम के jQuery से मतलब है)।

$('textarea#message')लंबाई 0 की हो सकती है और फिर $('textarea#message').val()खाली हो जाएगी



2

आप तत्व के नाम विशेषता से भी मान प्राप्त कर सकते हैं ।

var message = $("#formId textarea[name=message]").val();

1

आपको उपयोग करने की आवश्यकता नहीं है .html()। आपको साथ जाना चाहिए .val()

के डॉक्टर से .val():

.val()विधि मुख्य रूप से इस तरह के रूप प्रपत्र तत्वों के मूल्यों को प्राप्त करने के लिए प्रयोग किया जाता है input, selectऔर textarea। जब एक खाली संग्रह पर बुलाया जाता है, तो यह वापस आ जाता है undefined

var message = $('#message').val();

1

सभी मान हमेशा साथ लिए जाते हैं .val()

कोड को देखें:

var message = $('#message').val();

-1

आप इस तरह आईडी के बजाय नाम से मूल्य प्राप्त कर सकते हैं:

var message = $('textarea:input[name=message]').val();
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.