1

我有一个奇怪的问题。

我有一个 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 几乎覆盖了整个屏幕。

当用户输入数据时,所有的数据都会出现在你所期望的文本区域中。

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

IE

保存前

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

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

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

保存后---------------------------------------------- ---------------------------------

哈哈哈哈哈哈哈哈哈

哈哈哈哈哈哈哈哈哈

哈哈哈哈哈哈哈哈哈

哈哈哈哈哈哈哈哈哈

哈哈哈哈哈哈哈哈哈

哈哈哈哈哈哈哈哈哈

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

如果我将 更改cols为大于 84(比如 150),则换行符会在稍后出现(即,在换行符之前显示更多的文本似乎被输入)。

文本也通过这些明显的神秘换行符保存在数据库表中。

一个解决方法是将 设置cols为非常高的值(例如 500),然后我想我不会遇到这个问题....但我宁愿知道为什么会发生这种情况。

任何帮助表示赞赏!

干杯

贾勒特

4

2 回答 2

4

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

于 2012-11-02T15:56:02.897 回答
2

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

是详细描述这一点的一页(这一页来自 Microsoft),但在网络上搜索textarea wrap会给您带来更多负载。

于 2012-11-02T16:01:10.293 回答