Tengo este formulario y estoy tratando de obtener el valor del área de texto. por alguna razón no quiere.
<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);
});
o jsfiddle
¿algunas ideas?
javascript
jquery
textarea
Patrioticovaca
fuente
fuente
<textarea>
no admite elvalue
atributo".No necesitas usar
textarea#message
var message = $('textarea#message').val();
Puedes usar directamente
var message = $('#message').val();
fuente
Debe verificar que el área de texto sea nula antes de usar val (); de lo contrario, obtendrá un error indefinido.
if ($('textarea#message') != undefined) { var message = $('textarea#message').val(); }
Entonces, podrías hacer lo que sea con el mensaje.
fuente
$('textarea#message')
no puede ser indefinido (si por$
supuesto se refiere a jQuery).$('textarea#message')
puede ser de longitud 0 y luego$('textarea#message').val()
estaría vacío, eso es todofuente
Puedes usar directamente
var message = $.trim($("#message").val());
Leer más @ Obtenga el valor de TextArea usando el método jQuery Val ()
fuente
También puede obtener el valor por atributo de nombre del elemento .
var message = $("#formId textarea[name=message]").val();
fuente
No necesitas usar
.html()
. Deberías ir con.val()
.Del doc de
.val()
:var message = $('#message').val();
fuente
all Values siempre se toma con
.val()
.ver el código a continuación:
var message = $('#message').val();
fuente
También puede obtener valor por nombre en lugar de id como este:
var message = $('textarea:input[name=message]').val();
fuente