Js 与 TextArea
当给一个js变量赋值一个有换行的值得时候,就会报错:
<!DOCTYPE HTML>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var bad = "大家
早上好,
空气
不错哦"; $("#p1").html(bad); }); </script>
</head>
<body>
<p id="p1"></p>
<p id="p2"></p>
<div>
<textarea id="content"></textarea>
</div>
</body>
</html>
比如这段代码中,bad 变量赋值就出错了。
什么时候会出现这种赋值呢,那就是从textarea的值存到数据库之后,然后取出来直接赋值某个js变量的时候就会出现这种情况。
那就先从数据存入说起:
textarea虽不是富文本,但是可以多行显示。比如这样:
把textarea的值存入数据库中某个字段,你会看着这个字段中存入的 只有输入的这几个字,
看不到其他html标记。但可以看出来 在回车的地方文字之间的距离宽一些,似乎有空格。
取值 赋值:
如果在js代码中直接这样赋值
var bad = <%=badContent%>
就会出现开头那个错误的赋值,一个多行的文本赋值给一个js变量。
一个可行的办法是这样:在页面上设置一个隐藏域,将后台取的值放到隐藏域中,然后用js/jquery 把这个值取出来,赋值到 js变量上。
(方法来源:http://bbs.csdn.net/topics/310152073)
然后将该js变量显示到需要显示textarea内容的html标签处。用下面的方式模拟一下,如下所示:
<!DOCTYPE HTML>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript"> function show()
{
var content = $("#content").val();
$("#p1").html(content);
} </script>
</head>
<body>
<p id="p1"></p>
<p id="p2"></p>
<div>
<textarea id="content"></textarea>
</div>
<div>
<button onclick="show()">显示内容</button>
</div>
</body>
</html>
内容虽然显示但是没按照预想的一样显示,没有换行。 这是怎么回事?怎么办呢?
我们看到的那个宽点的空白是空格吗?不是。是textarea的换行符‘\n’ 而不是'\r\n'
知道了换行符是什么,那接下来就好办了,把'\n'换成<br/>则就显示出换行了。
注意使用正则替换可以把所有的换行都替换掉
<!DOCTYPE HTML>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript"> function show()
{
var content = $("#content").val();
var contentformat = content.replace(/\n/g,'<br/>');
$("#p1").html(contentformat);
} </script>
</head>
<body>
<p id="p1"></p>
<p id="p2"></p>
<div>
<textarea id="content"></textarea>
</div>
<div>
<button onclick="show()">显示内容</button>
</div>
</body>
</html>
方法来源:http://www.cnblogs.com/xrwang/archive/2011/04/27/LineBreakInJavascript.html
http://cjzuo-java-gmail-com.iteye.com/blog/1090174
Js 与 TextArea的更多相关文章
- js操作textarea方法集合
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- 使用div模拟textarea,实现文本输入框高度自适应(附:js控制textarea实现文本输入框高度自适应)
一.使用textarea标签进行多行文本的输入有很多限制,比如不能实现高度自适应,会出现难看的滚动条等问题. HTML5中添加了一个新属性contenteditable,该属性可以让input,tex ...
- JS获取TextArea和Input的同步值
在提交表单时,如果只是表单值,用一个form即可,但有时候需要将整个表单一起提交,则可通过以下js实现. <!DOCTYPE html> <html xmlns="http ...
- js限制textarea文本框的文字个数
现在发微博,那个文本框一般只能输入200字好像,再多就会自动删除,要么是提示字数受限,用Js就可实现本功能.今天带来的这个Js限制表单文本 框文字数量的例子,相信有此方面需要的是个不错的参考.为了便于 ...
- js控制textarea输入字符串的个数,鼠标按下抬起推断输入字符数
[Html代码] <table> <tr> <td width="150">短信内容:</td> <td> <te ...
- js实现textarea自适应高度
html结构: <div class="container" id="container"> <div class="text-wr ...
- 通过JS控制textarea的输入长度
废话不多说,直接上代码(因为自己也只是遇到的时候然后上网查到的解决办法,放在此处只是为了方便各位看以及以后再碰到用起来方便) <ul> <li> <textarea ro ...
- 工作记录(JS向textarea添加固定内容、通过固定字符将字符串分割为数组)
第一个是在 textarea 输入框中添加固定的内容. 代码如下: <textarea id="text" cols="30" rows="10 ...
- 【分享】 封装js操作textarea 方法集合(兼容很好)。
请使用下面的btn操作. 虽然你现在看来没什么用,当要用的时候又到处找资料,还不如现在收集一下. 在DOM里面操作textarea里面的字符,是比较麻烦的. 于是我有这个封装分享给大家 ...
随机推荐
- 对象工具类 - ObjectUtils.java
对象工具类,提供对象克隆.获取对象属性.类型判断.Map转换对象.对象转Map.设置对象属性等. 源码如下:(点击下载 - ObjectUtils.java .JsonUtils.java .gso ...
- Log4J 如何分开Logger输出
今天和两个同事讨论Log4j,他们都需要解决一个问题,怎么分开输出Logger.这么讲不清楚,举个例子: package com.gmail.at.ankyhe.log4jtest; import o ...
- 几款开源的图形界面库(GUI Libraries)
SmartWin++ 遵循BSD许可协议的C++ GUI库,建立在Windows API之上,但仍可以通过使用WineLib在Linux/xNix上使用.也支持Pocket PC和基于Windows ...
- C#日期格式及其运算
C#日期时间格式化 转载: http://www.cnblogs.com/hantianwei/archive/2010/09/23/1833228.html
- linux mysql为root用户初始化密码和改变root密码
初始化密码: 由于安装MySQL完后,MySQL会自动提供一个不带密码的root用户,为了安全起见给root设置密码: #mysqladmin -u root password 123 (123为密码 ...
- ids & hdmi 原理
http://www.taiwanwebinar.com/zh_TW/STATIC/SITE/dwc_hdmi_tx.pdf http://blog.csdn.net/g_salamander/art ...
- *IntelliJ IDEA使用Hibernate连接数据库
在IntelliJ IDEA中配置MySQL Database.
- POJ2635——The Embarrassed Cryptographer(高精度取模+筛选取素数)
The Embarrassed Cryptographer DescriptionThe young and very promising cryptographer Odd Even has imp ...
- POJ2632——Crashing Robots
Crashing Robots DescriptionIn a modernized warehouse, robots are used to fetch the goods. Careful pl ...
- svn:revert to this version 和 revert changes from this version的区别 假设我们有许多个版本,版本号分别是1-10
假设我们有许多个版本,版本号分别是1-10 如果我们在7这里选择revert to this version那么7之后的8,9,10的操作都会被消除 如果在7选择revert changes from ...