Textarea自动适用高度且无滚动条解决方案
今日的系统需要动态显示一项数据库里面的内容,该内容包含换行等格式字符,要求如实的反应在页面上。
最初解决办法是使用textarea控件,代码如下:
<textarea style="border:0;width:100%;overflow-y:auto;">
<%=content%>
</textarea>
但此方法仅适用于IE浏览器,chrome、firefox等都有问题。
后来想起用pre标签,同样能达到如实反应内容的目的,为达到自动换行的目的,采用网上提出的如下CSS样式表:
pre {
white-space:pre-wrap; /* css-3 */
white-space:-moz-pre-wrap; /* Mozilla, since 1999 */
white-space:-pre-wrap; /* Opera 4-6 */
white-space:-o-pre-wrap; /* Opera 7 */
word-break:break-all;
}
虽然网上找到的文章中表示兼容IE,但是,我在IE8浏览器中,内容不能自动换行。
问题再次出现。
如何解决?让浏览器自己选择呈现标签!如果是IE浏览器,则使用textarea,否则使用pre标签!那怎么实现呢?这里可以采用<!-IF [IE]>标签,此标签是IE浏览器的条件注释<!–[if IE]>….<![endif]–>,请参考网上相关说明。
最后,得到最终的代码:
<!--[if !IE]><!--><pre><%=content%></pre><!--<![endif]-->
<!--[if IE]><textarea style="width:98%;overflow-y:visible;border:0;"><%=content%></textarea>
<![endif]-->
常见的浏览器,都能自动完整的显示出数据项,完美的解决了问题。
当然,对于此问题,还有一种解决办法:在提交content内容之前,转为html代码保存,首先定义一JavaScript函数:
function TextToHtml(sourcestr)
{
var restring="", destr = "";
var strlen=sourcestr.length;
for (var i=0; i<strlen; i++)
{
var ch=sourcestr.charAt(i);
switch (ch)
{
case '<':
destr = "<";
break;
case '>':
destr = ">";
break;
case '\"':
destr = """;
break;
case '&':
destr = "&";
break;
case 13:
destr = "<br>";
break;
case 32:
destr = " ";
break;
default :
destr = "" + ch;
break;
}
restring = restring + destr;
}
return "" + restring;
}
提交前调用此函数即可。
显示时,直接输出:
<div><%=content%></div>
Textarea自动适用高度且无滚动条解决方案的更多相关文章
- iframe子元素相对于父页面滚动条固定(iframe无滚动条,iframe固定高度有滚动条,两种情况)
一.当iframe自适应高度,无滚动条时候: 例如这样: //随着父页面滚动条滚动定位“#qn-quc”他的位置固定在顶部 $(parent.window).scroll(function() { v ...
- Textarea高度随内容自适应地增长,无滚动条
<HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; char ...
- textarea下高度自适应
1,背景:textarea的高度不会随内容的增加而自适应,会出现滚动条 解决方案: 1)使用div模拟textarea 使用h5的属性 <div contenteditable=&quo ...
- jquery easyui datagrid 无滚动条,datagrid 没垂直滚动条
jquery easyui datagrid 无滚动条,datagrid 没垂直滚动条 ============================== 蕃薯耀 2018年2月6日 http://www. ...
- div模拟textarea实现高度自增长
今天突然有位前端的朋友问我textarea怎么实现高度随内容自增长,我一下子懵了,首先想到的是用js改变textarea的高度,但是百度了很多参考代码效果都不是很理想. 因为之前实际项目中用的text ...
- sencha touch textarea 手机上不显示滚动条,且不能滚动
最近在项目中发现 sencha touch 中的 textarea 在手机上不显示滚动条,也不能滚动. 在浏览器中之所以能显示滚动条滚动,那是浏览器为 textarea 添加的滚动条. 但在手机中是不 ...
- textarea 实现高度自动增长
有时候希望textarea 能够自动调整高度来适应输入的内容 网上看到了很多解决方案,比如动态创建一个隐藏的div,当用户输入的时候将textarea的内容绑定到div,由于div的高度会自动撑开,因 ...
- js 页面无滚动条添加滚轮事件
当页面无滚动条时,滑动滚轮时window.onscroll事件不会相应,此时应该去添加滚轮事件 var MouseWheelHandler=function(e){ e.preventDefault( ...
- textarea自适应高度
最近做项目遇见了这个自适应高度的问题,也在网上找了些资料,大多选择用DIV模拟textarea,但是这样就有安全性的问题,因为你是可以直接将HTML代码输入进去的. 接下来介绍的这种办法是采用两个te ...
随机推荐
- 【java】线程安全的整型类AtomicInteger
一.遇见AtomicInteger 在看项目代码的时候看到这个类,发现其功能很简单,就是一个整型变量的类型,出于好奇看了其类定义. 该类位于java.util.concurrent.atomic下,在 ...
- 仿苹果系统应用的apk
仿苹果系统应用的apk 韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 收集了好久的仿苹果IOS7全套apk - Android安卓综合 ...
- 2017 icpc 南宁网络赛
2000年台湾大专题...英语阅读输入输出专场..我只能说很强势.. M. Frequent Subsets Problem The frequent subset problem is define ...
- 【DFS】佳佳的魔法阵
[vijos1284]佳佳的魔法阵 背景 也许是为了捕捉猎物(捕捉MM?),也许是因为其它原因,总之,佳佳准备设计一个魔法阵.而设计魔法阵涉及到的最关键问题,似乎就是那些带有魔力的宝石的摆放…… 描述 ...
- python 多继承详解
class A(object): # A must be new-style class def __init__(self): print "enter A" print &qu ...
- js知识-进阶
1 DOM 1.1 查找标签 (1)直接查找 document.getElementById(“idname”) // dom对象 document.getElementsByTag ...
- 洛谷 [AHOI2001]质数和分解
题目描述 Description 任何大于 1 的自然数 n 都可以写成若干个大于等于 2 且小于等于 n 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式.例 ...
- 如何获取php错误
今天把项目放在测试服务器,但是出现一个问题,用的TP5框架,我把入口文件放在了根目录,访问的时候报错了,框架引导文件引入不了,也不报错,就是说访问不了. 所以就用了一段代码把错误获取出来了,代码如下: ...
- 推荐一篇讲arm架构gcc内联汇编的文章
这是来自ethernut网站的一篇文章,原文链接: http://www.ethernut.de/en/documents/arm-inline-asm.html 另外,据说nut/os是个不错的开源 ...
- Email the output of a concurrent program as Attachment
This article illustrates the steps to be followed to Email a concurrent program's output. Write a pr ...