html textarea注入换行符

时间:2012-11-02 15:53:47

标签: html css textarea

我有一个奇怪的问题。

我有一个html textarea,cols设置为84,如下所示:

<textarea id="caseNote_note0" class="txtArea" name="caseNote_note" style="line-height: 1.1em; height: 5em;" wrap="hard" rows="10" cols="84" tabindex="7">blah blah blah</textarea>

txtArea类定义为:

.txtArea {
            font-family:arial,sans-serif;
            font-size:1.0em;
            width:99%;
            rows:10;
            overflow:hidden;
            border:none;
            font-family:arial,sans-serif;
            margin: 0px 3px 0px 3px;
        }

textarea几乎遍布整个屏幕。

当用户输入数据时,数据全部显示在textarea中。正如您所期望的那样。

但是,当您提交表单时,文本看起来像保存了注入其中的换行符。

保存前

-------------------------------------------- -----------------------------------

等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等等 blah blah blah blah blah blah blah blah blah blah blah blah blah blah

-------------------------------------------- -----------------------------------

保存后

----------------------------------------------- --------------------------------

等等等等等等等等等等 等等等等等等等等等等 等等等等等等等等等等 等等等等等等等等等等 等等等等等等等等等等 等等等等等等等等等等

-------------------------------------------- -----------------------------------

如果我将cols更改为大于84(比如150),则后面会显示换行符(即在换行符之前显示的更多文字似乎会消失)。

文本也被保存在数据库表中,带有这些明显的神秘断线。

一个词汇就是将cols设置为真正高的东西(比如500),然后我想我不会遇到这个问题....但我宁愿知道为什么这首先发生了。

感谢任何帮助!

干杯

Jarrett的

2 个答案:

答案 0 :(得分:4)

删除wrap属性。这是不必要的。

答案 1 :(得分:2)

您的问题是由HTML中的wrap="hard"属性引起的。您可以将其更改为wrap="soft"以将行包装在屏幕上,但不将它们包含在提交的数据中。或者,您可以将其更改为wrap="off"以完全关闭 - textarea将包含一个水平滚动条。

Here有一页详细描述了这一点(这个来自微软),但在网上搜索 textarea wrap 会给你更多的负载。