我有以下代码:textarea的“包装=硬”不工作的Firefox
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org
/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="author" content="RLJ RLJ" />
<title>Untitled 2</title>
</head>
<body>
<form action=SCRIPT.php method=POST>
<textarea name="pastwork" id="pastwork" rows="6" wrap="hard" style="border: 1px solid
#808080; width:85px; padding: 5px;"></textarea>
<input type="submit" value = "Submit"/>
</form>
</body>
</html>
其中的script.php如下:
<?php
$pastwork = $_POST['pastwork'];
echo "<pre>". $pastwork."</pre>";
echo "<br />";
echo nl2br($pastwork);
?>
我遇到的问题是,换行符在Firefox中没有正确传递。 当我键入以下textarea的(B表示使光标跳到下一个行的字符中,N表示了导致字跳转到下一行的字符):
ddddddddddBdd FFF
GGG GGG ggNgg SSS
即textarea的看起来是这样的:
+------------+
| dddddddddd |
| Bdd fff |
| ggg ggg |
| ggNgg sss |
+------------+
Internet Explorer的呼应它:
DDDDDDDDD
BDD FFF
GGG GGG
ggNgg SSS
这是正确的,换行正是他们在textarea的。
不过,Firefox呼应它:
ddddddddddN FFF
GGG GGG ggNgg SSS
我是否使用nl2br()
或pre
标签。
(我还没有尝试过任何其他浏览器还)
可能有人请告诉我这是为什么,以及如何确保换行符的正确传递,无论是浏览器。
的'cols'和'rows'属性是必需的XHTML。 – 2011-09-16 10:59:57