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

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

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


当前回答

仔细查看您的代码。其中,已经有三个换行符,在</textarea>之前有大量的空白。首先删除这些标签,这样标签之间就不再有换行符了。这可能已经奏效了。

其他回答

我反对HTML代码与PHP代码混合。

但是试试这个:

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

保持文本区域代码内没有额外的空白

此外,如果您看到额外的空行 在元语言中有解决方案:

<textarea>
for line in lines:
echo line.replace('\n','\r')
endfor
</textarea>

它将打印没有额外空行的行 当然,这取决于你的行是否以“\n”,“\r\n”或“”结尾——请适应

如果您仍然喜欢使用缩进,请在打开<?PHP标签,如下所示:

<textarea style="width:350px; height:80px;" cols="42" rows="5" name="sitelink"><?php // <--- newline
    if($siteLink_val) echo $siteLink_val; // <--- indented, newline
?></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>

我也添加了PHP的trim()方法:

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

简单地把所有这些写在一行中

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