how to get the value of a textarea in jquery?
i have this form and im trying to get the value from the text area. for some reason it doesn't want to.
<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"> </dt>
<dd id="id-element">
<input type="hidden" id="id" value="145198" name="id"></dd>
<dt id="send_message-label"> </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);
});
or jsfiddle
any ideas?
Solution 1:
Value of textarea is also taken with val
method:
var message = $('textarea#message').val();
console.log(message);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea cols="60" rows="5" id="message" name="message">
Hello,
world!
</textarea>
Solution 2:
You need to use .val()
for textarea as it is an element and not a wrapper. Try
$('textarea#message').val()
Updated fiddle
Solution 3:
you should use val()
instead of html()
var message = $('#message').val();
Solution 4:
in javascript :
document.getElementById("message").value
Solution 5:
You don't need to use textarea#message
var message = $('textarea#message').val();
You can directly use
var message = $('#message').val();