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. mac下安装phalcon

    PHP版本:7.1.16 1. 安装 brew tap tigerstrikemedia/homebrew-phalconphp brew install php71-phalcon 2.配置php. ...

  2. Win10 安装 MongoDB 3.6.5 失败的问题

    MongoDB 3.6.5 2008R2Plus SSL (64 bit) Setup Wizard ended prematurely 在安装 MongoDB 的时候,出现了MongoDB 3.6. ...

  3. docker 设置映射端口 目录挂载

    docker run -p 3092:9092 -p 3093:9093 -p 3094:9094 -p 3181:2181 --name="kafka_map_port_3092_4_31 ...

  4. [2016北京集训试题14]股神小D-[LCT]

    Description Solution 将(u,v,l,r)换为(1,u,v,l)和(2,u,v,r).进行排序(第4个数为第一关键字,第1个数为第二关键字).用LCT维护联通块的合并和断开.(维护 ...

  5. c++ 绘制方框

    知识点: GetStdHandle函数 FillConsoleOutputCharacter函数 SetConsoleCursorPosition函数 system函数 一. GetStdHandle ...

  6. IDEA/Git 设置多个push远程仓库或者同时提交多个push仓库

    注:写在最上面的这个提交地址将会是唯一的pull地址 具体解决办法: 在隐藏文件.git 下有个config文件,打开,在最后一行添加以下信息 [remote "all"] url ...

  7. python赋值、浅拷贝、深拷贝区别

    在写Python过程中,经常会遇到对象的拷贝,如果不理解浅拷贝和深拷贝的概念,你的代码就可能出现一些问题.所以,在这里按个人的理解谈谈它们之间的区别. 一.赋值(assignment) 在<Py ...

  8. virtualenvwrapper安装和常用指令(mac)

    安装: .安装(要有python环境+pip): * sudo pip install virtualenvwrapper .配置: 执行:vi ~/.bash_profile 在~/.bash_pr ...

  9. Android Service(下)

    阅读本文需要先阅读Android Service(上) 一 为什么需要bindService() 绑定服务就是为了和服务进行通讯 可以调用服务里面的方法 二 bindService()调用服务里面方法 ...

  10. Python之pexpect详解

    一.引子 Pexpect程序主要用于人机对话的模拟,就是那种系统提问,人来回答yes/no,或者账号登陆输入用户名和密码等等的情况.因为这种情况特别多而且繁琐,所以很多语言都有各种自己的实现.最初的第 ...