JQuery TextArea的取值与赋值问题---(textarea中回车清空问题)

JQuery TextArea的取值与赋值问题

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

先说取值:

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

$("#textarea").val(); 问题解决,不过搜索时,发现有人提另一个问题:

当在一个textarea标签中键入一个回车时,实际上会插入2个符号:\n\r  \n 回车符 \r 换行符
如果用text()获取textarea中的值,那么存入数据库的数据就只会有\r
如果用val()获取textarea中的值, 那么存入数据库的数据就只会有\n
这样的区别就是,在IE下, 你如果是读取用text()存入的数据在展示在textarea中,那么数据的换行是正常的。
而读取用val()存入的数据在展示在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("A\nA"),在显示时只会呈现空一格而不会换行。

依我测试的结果,在IE下text("A\r\A")得到显示结果比较接近预期,但是text("A\rA")在Firefox中显示时会换列,用text()取出时却是连在一起的... 这... 这... 这...

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

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

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

【著名心得】没有噼成一字马的本事,不要跟别人说你会"跨"浏览器!

------------------重要问题----------------------------------

textarea中把回车键当作快捷键时候,并不要他显示换行动作。但浏览器处理了连个动作。

无赖$("textarea").val("");也清空不了里面的内容。网上资料查阅无数。竟多少前辈也被困于此,拳脚不得施展。

晚辈愚笨,偶然间坠入山洞山东,习得高人创的习武心得。追溯起源,终探得究竟。

看招:

$(document).keypress(function(e){

if(e.ctrlKey && e.which == 13 || e.which == 10 || e.which == 13) {

$("#send").click();

e.preventDefault();//屏蔽enter对系统作用。按后增加\r\n等换行

$("#what").val("");

}

});

e.preventDefault();就是屏蔽enter键接下来的操作,啊哈哈哈。知道此招的固然是高人,莫笑小弟之欣喜。

心得总结:

所谓的困难,就是克服过去的不值一提!

总结

技术生涯也好比漫漫人生路,总是不断地遇到问题,解决问题。当人也会遇到一些棘手的问题让人招架不住,隔着屁儿着凉死翘翘。

八过,咱们把一些遇到的问题,记下来。下载墙壁上,N年过后,某位后人遇到同类问题题,也不至于费尽心思浪费光阴啊。

整天浪费光阴于此,又何以解救天下苍生呢。

施主,你说贫僧说得对不对呀!啊哈哈哈……

以上文章转载自网络,是否正确并未验证,请谨慎使用。

JQuery TextArea的取值与赋值问题---(textarea中回车清空问题)——个人转载整理的更多相关文章

  1. jQuery radio的取值与赋值

    取值: $("input[name='radioName']:checked").val(); 赋值: $("input[name='radioName'][value= ...

  2. ZTree 获取选中的项,jQuery radio的取值与赋值

    $("input[name='Sex']:checked").val();//取值 $("input[name='radioName'][value=2]"). ...

  3. jQuery常用的取值或赋值的方法

    $(selector).data(name) 从被取元素返回附加的数据 存在一个div标签:<div data-meeting="hi Tom"></div> ...

  4. jQuery 表单元素取值与赋值方法总结

    一.普通文本框的赋值与取值 1.1.1赋值 <h2>jQuery 表单元素取值与赋值方法总结</h2> <input type="text" clas ...

  5. jquery select取值,赋值操作

    select">jquery select取值,赋值操作 一.获取Select 获取select 选中的 text : $("#ddlRegType").find( ...

  6. jQuery对表单元素的取值和赋值操作代码

    使用常规的思路:$(“#keyword”).value 取值是取不到的,因为此时$(‘#keydord’)已经不是个element,而是个jquery对象,所以应该使用:$(“#keyword”).v ...

  7. 浅谈jquery关于select框的取值和赋值

    浅谈jquery关于select框的取值和赋值   jQuery("#select_id").change(function(){}); // 1.为Select添加事件,当选择其 ...

  8. jQuery对表单元素的取值和赋值操作代码(转)

    使用常规的思路:$("#keyword").value 取值是取不到的,因为此时$('#keydord')已经不是个element,而是个jquery对象,所以应该使用:$(&qu ...

  9. jquery操作select取值赋值与设置选中[转]

    本节内容:jquery实现select下拉框的取值与赋值,设置选中的方法大全. 比如<select class="selector"></select> 1 ...

随机推荐

  1. Java基础——类加载机制

    什么叫类加载 JVM把 .class 字节码文件加载到内存,并进行相关的校验.解析.初始化,最终转换为虚拟机可用的JAVA类型的过程,称为JVM类加载机制. (当然,JVM并不关心class文件的来源 ...

  2. 复制文件到IDE等工具出现乱码解决方案

    首要的解决方案是设置文件或者项目或者工作空间的编码,可以采用在文件上.项目上右键->properties进行设置 第二种方式是在editplus等编辑器里打开文件,然后打开文件之后点击菜单Fil ...

  3. 亲手搭建一个基于Asp.Net WebApi的项目基础框架4

    实现目的:配置website端与服务端对接 1:配置好各项配置文件 2:server端编写接口客户端调用 1.1首先配置文件有log4的配置文件,有config的配置文件,还有服务列表的配置文件 首先 ...

  4. SpringCloud-声明式Rest调用Feign(四)

    前言:一般情况下我们通常使用RestTemplate来实现声明式远程调用,但是当参数过多,那么效率就会变得很低,并且难以维护,所以在微服务当中也有声明式Rest调用的组件Feign 一.Feign简介 ...

  5. c3p0 连接数据库失败的问题

    报错:java.sql.SQLException: No suitable driver 显然,这里c3p0由于没有找到对应的配置文件(c3p0-config.xml或者c3p0.properties ...

  6. 为什么java代码中要避免多层深度for循环嵌套

    在开发中,一直强调代码的整洁和可读性.之前对于使用多层嵌套for循环,一直以为只是对代码可读性和逻辑梳理有影响.可能对性能也有影响,但是一直不知道对性能影响在哪.最近在看虚拟机方面的书,感觉有一个点应 ...

  7. 用CSS中的Alpha实现渐变

    效果一:<div  id="Layer1"  style="position:absolute;  left:161px;  top:160px;  width:2 ...

  8. .net 分布式学习计划

    一: 1:.net分布式系统架构的思路     https://blog.csdn.net/slowlifes/article/details/53162014 2: nginx+iis实现负载均衡 ...

  9. Qt-网易云音乐界面实现-6 迷你个人中心实现

    这个界面除了麻烦耗时,没有啥技术含量.暂时我也就把它称为迷你个人中心,因为后面还有一个个人中心了. 先看下完成品 左侧是我的,右侧是原生 个人感觉还可以吧,哈哈哈.给我自己奖励一个鸡腿. 看下头文件 ...

  10. netty+proto使用简要记录

    1. maven环境配置protobuf 2.生成.proto文件 3.将.proto转为java文件 打开电脑的cmd,进入.proto所在文件位置,输入命令:protoc.exe --java_o ...