我有一个简单的文本区域,像这样的形式:

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
    <?php if($siteLink_val) echo $siteLink_val; ?> 
</textarea>

我一直在这个文本区域得到额外的空白。当我tab到它,我的光标就像在文本区域的中间,而不是在开始?怎么解释呢?


当前回答

好吧,<textarea>和</textarea>之间的所有内容都被用作textarea框的默认值。在你的例子中有一些空白。试着消除所有这些。

其他回答

此外,当你说光标是在“中间”的文本区域,这让我认为你也可以有额外的填充或文本对齐:中心定义在你的CSS某处。

另一种方法是使用javascript:

//jquery
$('textarea#someid').html($('textarea#someid').html().trim());

//without jquery
document.getElementById('someid').innerHTML = document.getElementById('someid').innerHTML.trim();

这就是我所做的。删除代码中的空格和换行符会使行太长。

好吧,<textarea>和</textarea>之间的所有内容都被用作textarea框的默认值。在你的例子中有一些空白。试着消除所有这些。

<textarea style="width:350px; 
 height:80px;" cols="42" rows="5" name="sitelink"
 ><?php if($siteLink_val) echo $siteLink_val; ?></textarea> 

移动……>向下对我来说很合适。

一个对我有效的解决方案是添加样式空白:normal;到文本区域,因为有时消除所有的空白是不可行的(例如,当你想让你的代码遵守你的编码准则,需要添加制表符,空格和换行符)

请注意,默认的文本区域,至少在chrome是: 空白:pre-wrap;