我有一个简单的文本区域,像这样的形式:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php if($siteLink_val) echo $siteLink_val; ?>
</textarea>
我一直在这个文本区域得到额外的空白。当我tab到它,我的光标就像在文本区域的中间,而不是在开始?怎么解释呢?
我有一个简单的文本区域,像这样的形式:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink">
<?php if($siteLink_val) echo $siteLink_val; ?>
</textarea>
我一直在这个文本区域得到额外的空白。当我tab到它,我的光标就像在文本区域的中间,而不是在开始?怎么解释呢?
当前回答
文本区域开始和结束标签之间的任何空格都将被视为空白。所以对于上面的代码,正确的方法是:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo $siteLink_val; ?></textarea>
其他回答
另一种方法是使用javascript:
//jquery
$('textarea#someid').html($('textarea#someid').html().trim());
//without jquery
document.getElementById('someid').innerHTML = document.getElementById('someid').innerHTML.trim();
这就是我所做的。删除代码中的空格和换行符会使行太长。
为了让它看起来更简洁,可以考虑使用三元操作符:
<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>
此外:textarea标签在多行代码中为新行、制表符等显示空格。
文本区域开始和结束标签之间的任何空格都将被视为空白。所以对于上面的代码,正确的方法是:
<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php if($siteLink_val) echo $siteLink_val; ?></textarea>