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

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

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


当前回答

打开(并关闭!)你的PHP标签的前后,你的textarea标签:

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

其他回答

文本区域开始和结束标签之间的任何空格都将被视为空白。所以对于上面的代码,正确的方法是:

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

只需要在同一行中定义你的和你的close标记。

<textarea class="form-control"
          id="newText"
          rows="6"
          placeholder="Your placeholder here..."
          required
          name="newText"></textarea>

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

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

为了让它看起来更简洁,可以考虑使用三元操作符:

<textarea><?=( $siteLink_val ? $siteLink_val : '' );?></textarea>

打开(并关闭!)你的PHP标签的前后,你的textarea标签:

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