也问分行显示问题,比较奇怪

jspfans 2006-02-28 02:53:14
我用一个TEXTAREA提交数据存如数据库,在从数据库中取出的显示的时候出现此等怪事:如果数据是中文的,或是中英文混合的,即使中间没有任何空格或是标点,都能正常显示,但是如果数据是纯英文的,比如是“aaaaa”这样的又非常长,中间有空格或标点也不行,取出来的数据在也面中显示就是一行,不管有多长,都不自动换行,把浏览器的横滚动条变得好长,表格也变了形状,就是不换行,气死我了,,,大家说说是怎么回事啊!!

呵呵,说了半天,也不知说清没,本人语言功能较差,大家凑合看啊,,帮帮我啊!!!!
...全文
70 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jspfans 2006-02-28
这个可以了,,,这是为什么呢??那个style说的是什么呢??
回复
jspfans 2006-02-28
trying
回复
jspfans 2006-02-28
to:sheep219(sheep219)
用wrap=hard是可以了,但是它只有输入时textarea这么宽的一块文字,后面大片的空白啊。。
我想知道为什么会出现英文不换行,但是中文就可以自动换行呢???
回复
sheep219 2006-02-28
要是你放在td里话试试这个:
<td style="table-layout: fixed;WORD-BREAK: break-all; WORD-WRAP: break-word">
</td>
回复
sheep219 2006-02-28
http://www.echot.net/study/webbase/form.htm看看
回复
sheep219 2006-02-28
wrap=hard是把textarea自动回车,作为硬回车的方式放入数据库。
回复
jspfans 2006-02-28
style="overflow:hidden" 是不是去掉滚动条?那wrap=hard是什么啊,本人菜鸟拉!
回复
jspfans 2006-02-28
不过class="textmain" style="overflow:hidden"是什么啊,我先试一下^_^

真的感谢你用这么大段文字给我讲解,谢谢!!!
回复
jspfans 2006-02-28
整个字串的都没有回车啊,就aaaaaaaaaaaa这么一直长下去,大概100个字符吧,就会出错,
还有,我在提交之前,有过滤的:
Str=Str.replace("&","&");
Str=Str.replace(" "," ") ;
Str=Str.replace(">",">");
Str=Str.replace("<","<");
Str=Str.replace("\n","<br>");
Str=Str.replace("\"",""");
回复
sheep219 2006-02-28
是wrap=hard。呵呵
回复
sheep219 2006-02-28
1.首先你要在你的提交的数据的textarea里设置:wrap:hard
2.再取出数据的时要改变回车的值因为在textarea里提交的回车acsii码是10,数据库中变为13要重新转回来。
象这样:
query = rst.getString("description");
int length = query.length();
char t = (char)13;
char n = (char)10;
StringBuffer sb = new StringBuffer();
sb.append(n);
for(int j=0;j<length;j++)
{
char a = query.charAt(j);
if(a==t)
{
sb.append(n);
continue;
}
if(a==n)
{
continue;
}
sb.append(a);
}
query = sb.toString();
3.显示时候最好重新放入textarea中,这样可以避免空格显示,回车显示等一些麻烦。可以改变 textarea的样式让它看起来象文本筐,并且是只读的:
<textarea name="description" cols="50" rows="25" class="textmain" style="overflow:hidden" readonly="true">
</textarea>
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-02-28 02:53
社区公告
暂无公告