JQuery TextArea的val()、html()、text()取值与赋值问题

首先,说明这不是一个简单的问题! 先说取值: $(#textarea).text();读取,最近测试时候发现在firefox中读取不出textArea的值,IE正常 于是修改为: $(#textarea).val(); 问题解决,不过搜索时,发

     首先,说明这不是一个简单的问题!

     先说取值:

$("#textarea").text();读取,最近测试时候发现在firefox中读取不出textArea的值,IE正常
于是修改为:

$("#textarea").val();
  问题解决,不过搜索时,发现有人提另一个问题:
  当在一个textarea标签中键入一个回车时,实际上会插入2个符号:nr n 回车符 r 换行符
如果用text()获取textarea中的值,那么存入数据库的数据就只会有r 如果用var()获取textarea中的值,
那么存入数据库的数据就只会有n 这样的区别就是,在IE下,
你如果是读取用text()存入的数据在展示在textarea中,那么数据的换行是正常的。
而读取用var()存入的数据在展示在textarea中,那么数据的就不会换行。
没有具体测试过看来用val()也不妥当。但是这也是必求之策。   再说赋值:   看代码:$("<div id='x1'><textarea id='t1'></textarea>" + "<textarea id='t2'></textarea></div>").appendTo("body"); $("#t1").text("AAA");$("#t2").val("BBB");alert("t1=" + $("#t1").text() + "/" + $("#t1").val());alert("t2=" + $("#t2").text() + "/" + $("#t2").val());alert($("#x1").html());

      在IE下,不管用val()或text()设定,后续的读取都正常;但在Firefox下,使用val()指定的值,画面上会出现,但是用text()或是透过html()检视时却是字串。因此在Firefox中,如果你希望设定给textarea值出现在html()中或可以被clone(),请用text(...)设定。

     且慢!! 事情如果这麽单纯,那麽连小学生也会跨浏览器了。使用text()设定时得注意换行问题,若你在IE中下text("AnA"),在显示时只会呈现空一格而不会换行。依我测试的结果,在IE下text("ArA")得到显示结果比较接近预期,但是text("ArA")在Firefox中显示时会换列,用text()取出时却是连在一起的... 这... 这... 这...

     最后,只能采取懦夫策略,在呼叫.clone()前做了这件事迴避问题:

  $theDiv.find("textarea").each(function() { $(this).text($(this).val()); });

     很丑,但看来是有效的! 如果有人有其他好点子,再分享一下吧!


相关文章推荐:

1.HTML textarea 多行文本输入标签

2.textarea属性设置详解

3.HTML里面Textarea换行总结

4.textarea文本域宽度和高度(width、height)自动适应变化处理

5.实现textarea限制输入字数

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

鼠标点击remove链接,根据ajax的返回值删除页面父元素块。 做法如下: $(.remove).bind(click,function(){var div = $(this).parent(); //先获取父级元素$.ajax({type:post,url:$(this).attr(href),dataType:json,data:{id:$(this).attr(id)},success:functi
本文实例讲述了jquery实现点击变换导航样式的方法。分享给大家供大家参考。具体如下: 这里分享一个导航点击变换样式的代码,近来看到很多网站的导航都是点击后导航样式跟着变化,今天就使用jqurey简单实现这一功能,高手勿喷。 运行效果截图如下: 代码如下
DEDE项目上 编辑软件大小(单位换算):$(doc
JQuery的自定义函数,获取input文本框内输入的字母自动进行开头字母大写处理;由于公司项目需求所以自写了一个处理函数,贴出来和大家分享下!