Cita:
Iniciado por maycolalvarez Los textarea NO manejan su contenido con value, use innerHTML, lo que para jQuery es .html(), consulte un manual de formularios en HTML
Permitime discrepar @maycolAlvarez
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript"> //<![CDATA[
/* script */
function valor_tarea(){
var elemento = document.forms[0].elements["texto"];
var t = elemento.value;
alert('valor con name: \n' + t);
var valor = document.getElementById('texto');
alert('valor con id: \n' + valor.value)
// innerHTML
alert('valor con innerHTML: \n' + valor.innerHTML)
}
//]]>
<form action="#" onsubmit="return valor_tarea();" method="post"> <textarea name="texto" id="texto" rows="3" cols="25"> párrafo en textarea
otra linea
<input type="button" value="con jQuery" id="eltxt" /><br /> <input type="submit" value="con Jscript" />
<script type="text/javascript"> //<![CDATA[
$(document).ready(function(){
$('#eltxt').click(function(){
var tx = $("#texto").val();
alert('Con jquery + val(): ' + tx);
var tx2 = $("#texto").text();
alert('Con jquery + text(): ' + tx2);
var tx3 = $("#texto").html();
alert('Con jquery + html(): ' + tx3);
});
});
//]]>
Como se ve, el val(), o value es recogido siempre.
Ahora en particular, para este caso, no habría que usar html() ó text() de jQuery ó innerHTML de javascript, porque en Firefox/Chrome, por ejemplo, siempre obtendríamos el contenido por defecto (no así en IE). Si el usuario modifica contenido solo se afecta el val() ó value, que en todos los navegadores se comportará igual
con respecto al problema de @mesoriginal, sin ver toda la script, asumo que esta definiendo
var tx = $("#texto").val();
fuera del evento click
Saludos
Saludos